mbox series

[cgi-io,00/12] fixes and improvements

Message ID 20201012123718.25623-1-ynezz@true.cz
Headers show
Series fixes and improvements | expand

Message

Petr Štetiar Oct. 12, 2020, 12:37 p.m. UTC
Hi,

this patch series adds the basic building blocks of automatic CI unit testing,
fuzzing and fixing all discovered issues.

Cheers,

Petr

Petr Štetiar (12):
  Fix warnings reported by clang-10 static analyzer
  Fix possible NULL dereference
  Fix clang compiler errors
  Refactor utility functions into static library
  Add fuzzing of multipart_parser
  Add fuzzing of utility functions
  Fix off-by-one in postdecode_fields
  Add .gitignore
  Add initial GitLab CI support
  Disable session ACLs during unit testing
  tests: add cgi-io built with clang sanitizers
  tests: add cram based unit tests

 .gitignore                                    |   1 +
 .gitlab-ci.yml                                |   7 +
 CMakeLists.txt                                |  25 +-
 main.c                                        | 296 ++----------------
 multipart_parser.c                            |   3 +
 tests/CMakeLists.txt                          |   6 +
 tests/cram/CMakeLists.txt                     |  25 ++
 tests/cram/test-cases/cgi-exec-01.txt         |   1 +
 tests/cram/test-cases/cgi-exec-02.txt         |   1 +
 tests/cram/test-cases/cgi-exec-03.txt         |   1 +
 tests/cram/test-san_cgi-exec.t                |  30 ++
 tests/cram/test_cgi-exec.t                    |  30 ++
 tests/fuzz-multipart-parser/CMakeLists.txt    |  18 ++
 tests/fuzz-multipart-parser/corpus/.keep      |   0
 tests/fuzz-multipart-parser/dict/parser.dict  |  10 +
 tests/fuzz-multipart-parser/inputs/input1.txt |   6 +
 tests/fuzz-multipart-parser/inputs/input2.txt |  10 +
 .../test-fuzz-multipart-parser.c              |  43 +++
 tests/fuzz/CMakeLists.txt                     |  18 ++
 .../58668e7669fd564d99db5d581fcdb6a5618440b5  |   1 +
 .../5ba93c9db0cff93f52b521d7420e43f6eda2784f  | Bin 0 -> 1 bytes
 .../adc83b19e793491b1c6ea0fd8b46cd9f32e592fc  |   1 +
 ...h-9adc1b00fe9189d66d3bfd8b7759b003cf3f5427 | Bin 0 -> 191 bytes
 ...h-c1e3b9cd71f83cc0de5ab4c0e3db39316cd5c6c0 |   1 +
 tests/fuzz/test-fuzz.c                        |  43 +++
 util.c                                        | 286 +++++++++++++++++
 util.h                                        |  12 +
 27 files changed, 598 insertions(+), 277 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 .gitlab-ci.yml
 create mode 100644 tests/CMakeLists.txt
 create mode 100644 tests/cram/CMakeLists.txt
 create mode 100644 tests/cram/test-cases/cgi-exec-01.txt
 create mode 100644 tests/cram/test-cases/cgi-exec-02.txt
 create mode 100644 tests/cram/test-cases/cgi-exec-03.txt
 create mode 100644 tests/cram/test-san_cgi-exec.t
 create mode 100644 tests/cram/test_cgi-exec.t
 create mode 100644 tests/fuzz-multipart-parser/CMakeLists.txt
 create mode 100644 tests/fuzz-multipart-parser/corpus/.keep
 create mode 100644 tests/fuzz-multipart-parser/dict/parser.dict
 create mode 100644 tests/fuzz-multipart-parser/inputs/input1.txt
 create mode 100644 tests/fuzz-multipart-parser/inputs/input2.txt
 create mode 100644 tests/fuzz-multipart-parser/test-fuzz-multipart-parser.c
 create mode 100644 tests/fuzz/CMakeLists.txt
 create mode 100644 tests/fuzz/corpus/58668e7669fd564d99db5d581fcdb6a5618440b5
 create mode 100644 tests/fuzz/corpus/5ba93c9db0cff93f52b521d7420e43f6eda2784f
 create mode 100644 tests/fuzz/corpus/adc83b19e793491b1c6ea0fd8b46cd9f32e592fc
 create mode 100644 tests/fuzz/corpus/crash-9adc1b00fe9189d66d3bfd8b7759b003cf3f5427
 create mode 100644 tests/fuzz/corpus/crash-c1e3b9cd71f83cc0de5ab4c0e3db39316cd5c6c0
 create mode 100644 tests/fuzz/test-fuzz.c
 create mode 100644 util.c
 create mode 100644 util.h