[OpenWrt-Devel] [PATCH ubus 00/16] GitLab CI, tests, fuzzing, fixes and improvements

Petr Štetiar ynezz at true.cz
Thu Dec 19 17:11:09 EST 2019


Hi,

this patch series adds GitLab CI support, unit tests passed through Valgrind,
unit tests covered with Clang's {Address,Leak,UndefinedBehavior}Sanitizer,
fuzzing with libFuzzer and bunch of fixes uncovered by Coverity and this new
CI test suite.

Petr Štetiar (16):
  cmake: enable extra compiler checks
  ubusd: fix comparison of integers of different signs
  ubusd/libubus-io: fix variable sized struct position warning
  iron out all extra compiler warnings
  libubus: fix incompatible pointer types assigment
  add initial GitLab CI support
  examples: remove dead increments
  refactor ubusd.c into reusable ubusd_library
  add fuzzer and cram based unit tests
  lua: workaround false positive dereference of null pointer
  lua: ubus_lua_do_subscribe: fix copy&paste error
  workaround possibly false positive uses of memory after it is freed
  ubus_common: remove duplicate ARRAY_SIZE and add missing include
  ubusd_monitor: fix possible null pointer dereference
  ubus_monitor: workaround possibly false positive uses of memory after
    it is freed
  fix blob parsing vulnerability by using blob_parse_untrusted

 .gitlab-ci.yml                                |   7 +
 CMakeLists.txt                                |  29 +-
 cli.c                                         |  13 +-
 examples/client.c                             |   3 -
 examples/server.c                             |  10 +-
 libubus-acl.c                                 |   2 +-
 libubus-internal.h                            |   3 +-
 libubus-io.c                                  |  16 +-
 libubus-obj.c                                 |   6 +-
 libubus-req.c                                 |  15 +-
 libubus.c                                     |  14 +-
 lua/ubus.c                                    |  27 +-
 tests/CMakeLists.txt                          |  18 ++
 tests/cram/CMakeLists.txt                     |  22 ++
 tests/cram/test_ubus.t                        |  58 ++++
 tests/cram/test_ubusd.t                       |  24 ++
 tests/fuzz/CMakeLists.txt                     |  18 ++
 .../05fe405753166f125559e7c9ac558654f107c7e9  | Bin 0 -> 8 bytes
 .../0660e49c13f6d167a8298d885f724bad8f62fc35  | Bin 0 -> 8 bytes
 .../37dadeab8d8ce7611f230f9524c1e8ab751c4a6a  | Bin 0 -> 8 bytes
 .../71520a5c4b5ca73903216857abbad54a8002d44a  | Bin 0 -> 2 bytes
 .../73c72a4d2bd1cd31b0b44256a888feec9eaaba27  | Bin 0 -> 9 bytes
 .../8db068f76b98df8730f5308b12c793fdf04c47c2  | Bin 0 -> 8 bytes
 .../c1dfd96eea8cc2b62785275bca38ac261256e278  |   1 +
 .../c42ac1c46f1d4e211c735cc7dfad4ff8391110e9  | Bin 0 -> 3 bytes
 ...h-1b8fb1be45db3aff7699100f497fb74138f3df4f | Bin 0 -> 6 bytes
 ...h-4c4d2c3c9ade5da9347534e290305c3b9760f627 | Bin 0 -> 17 bytes
 ...h-5e9937b197c88bf4e7b7ee2612456cad4cb83f5b | Bin 0 -> 86 bytes
 ...h-75b146c4e6fac64d3e62236b27c64b50657bab2a | Bin 0 -> 4 bytes
 ...h-813f3e68661da09c26d4a87dbb9d5099e92be50f | Bin 0 -> 36 bytes
 ...h-98595faa58ba01d85ba4fd0b109cd3d490b45795 | Bin 0 -> 6 bytes
 ...h-d0f3aa7d60a094b021f635d4edb7807c055a4ea1 |   1 +
 ...h-df9d1243057b27bbad6211e5a23d1cb699028aa2 | Bin 0 -> 16 bytes
 ...h-e2fd5ecb3b37926743256f1083f47a07c39e10c2 | Bin 0 -> 66 bytes
 .../e2814b29dd2fd5db02b1ab7c5e147e1194a489ce  | Bin 0 -> 8 bytes
 tests/fuzz/corpus/valid-blobmsg.bin           | Bin 0 -> 176 bytes
 tests/fuzz/test-fuzz.c                        |  40 +++
 ubus_common.h                                 |   6 +-
 ubusd.c                                       | 285 +-----------------
 ubusd.h                                       |   3 +-
 ubusd_acl.c                                   |  12 +-
 ubusd_event.c                                 |   7 +-
 ubusd_main.c                                  | 271 +++++++++++++++++
 ubusd_monitor.c                               |  42 ++-
 ubusd_obj.c                                   |   7 +-
 ubusd_proto.c                                 |  12 +-
 46 files changed, 603 insertions(+), 369 deletions(-)
 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_ubus.t
 create mode 100644 tests/cram/test_ubusd.t
 create mode 100644 tests/fuzz/CMakeLists.txt
 create mode 100644 tests/fuzz/corpus/05fe405753166f125559e7c9ac558654f107c7e9
 create mode 100644 tests/fuzz/corpus/0660e49c13f6d167a8298d885f724bad8f62fc35
 create mode 100644 tests/fuzz/corpus/37dadeab8d8ce7611f230f9524c1e8ab751c4a6a
 create mode 100644 tests/fuzz/corpus/71520a5c4b5ca73903216857abbad54a8002d44a
 create mode 100644 tests/fuzz/corpus/73c72a4d2bd1cd31b0b44256a888feec9eaaba27
 create mode 100644 tests/fuzz/corpus/8db068f76b98df8730f5308b12c793fdf04c47c2
 create mode 100644 tests/fuzz/corpus/c1dfd96eea8cc2b62785275bca38ac261256e278
 create mode 100644 tests/fuzz/corpus/c42ac1c46f1d4e211c735cc7dfad4ff8391110e9
 create mode 100644 tests/fuzz/corpus/crash-1b8fb1be45db3aff7699100f497fb74138f3df4f
 create mode 100644 tests/fuzz/corpus/crash-4c4d2c3c9ade5da9347534e290305c3b9760f627
 create mode 100644 tests/fuzz/corpus/crash-5e9937b197c88bf4e7b7ee2612456cad4cb83f5b
 create mode 100644 tests/fuzz/corpus/crash-75b146c4e6fac64d3e62236b27c64b50657bab2a
 create mode 100644 tests/fuzz/corpus/crash-813f3e68661da09c26d4a87dbb9d5099e92be50f
 create mode 100644 tests/fuzz/corpus/crash-98595faa58ba01d85ba4fd0b109cd3d490b45795
 create mode 100644 tests/fuzz/corpus/crash-d0f3aa7d60a094b021f635d4edb7807c055a4ea1
 create mode 100644 tests/fuzz/corpus/crash-df9d1243057b27bbad6211e5a23d1cb699028aa2
 create mode 100644 tests/fuzz/corpus/crash-e2fd5ecb3b37926743256f1083f47a07c39e10c2
 create mode 100644 tests/fuzz/corpus/e2814b29dd2fd5db02b1ab7c5e147e1194a489ce
 create mode 100644 tests/fuzz/corpus/valid-blobmsg.bin
 create mode 100644 tests/fuzz/test-fuzz.c
 create mode 100644 ubusd_main.c


_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


More information about the openwrt-devel mailing list