From 9bd2422ac38f0d90223a11d66ed50a93346d16f8 Mon Sep 17 00:00:00 2001 From: Evgeny Vereshchagin Date: Sat, 15 Jun 2019 23:12:24 +0200 Subject: [PATCH] travis: turn on nonnull-attribute on Fuzzit --- src/resolve/resolved-dns-rr.c | 3 ++- .../crash-497be373856c321a8a7b06589df9b2ff2e0d866a | Bin 0 -> 34 bytes travis-ci/managers/fuzzit.sh | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 test/fuzz/fuzz-dns-packet/crash-497be373856c321a8a7b06589df9b2ff2e0d866a diff --git a/src/resolve/resolved-dns-rr.c b/src/resolve/resolved-dns-rr.c index 4cbb9723e21..6ba26a24b2c 100644 --- a/src/resolve/resolved-dns-rr.c +++ b/src/resolve/resolved-dns-rr.c @@ -7,6 +7,7 @@ #include "dns-type.h" #include "escape.h" #include "hexdecoct.h" +#include "memory-util.h" #include "resolved-dns-dnssec.h" #include "resolved-dns-packet.h" #include "resolved-dns-rr.h" @@ -555,7 +556,7 @@ int dns_resource_record_new_address(DnsResourceRecord **ret, int family, const u #define FIELD_EQUAL(a, b, field) \ ((a).field ## _size == (b).field ## _size && \ - memcmp((a).field, (b).field, (a).field ## _size) == 0) + memcmp_safe((a).field, (b).field, (a).field ## _size) == 0) int dns_resource_record_payload_equal(const DnsResourceRecord *a, const DnsResourceRecord *b) { int r; diff --git a/test/fuzz/fuzz-dns-packet/crash-497be373856c321a8a7b06589df9b2ff2e0d866a b/test/fuzz/fuzz-dns-packet/crash-497be373856c321a8a7b06589df9b2ff2e0d866a new file mode 100644 index 0000000000000000000000000000000000000000..8d24e57dfe77802d5456b6b6c07a72bffda530fc GIT binary patch literal 34 ac-jkNfC4532(5kJcso?6{(t>{1_l5*cm-(y literal 0 Hc-jL100001 diff --git a/travis-ci/managers/fuzzit.sh b/travis-ci/managers/fuzzit.sh index 71858b4be87..6261bd67204 100755 --- a/travis-ci/managers/fuzzit.sh +++ b/travis-ci/managers/fuzzit.sh @@ -21,7 +21,7 @@ export PATH="$HOME/.local/bin/:$PATH" # https://github.com/systemd/systemd/pull/12771#issuecomment-502139157 are sorted out at least. # TODO: "null" should probably be added too. On OSS-Fuzz it was turned off in https://github.com/google/oss-fuzz/pull/674 # TODO: figure out what to do about unsigned-integer-overflow: https://github.com/google/oss-fuzz/issues/910 -export SANITIZER="address -fsanitize=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,unsigned-integer-overflow,vla-bound,vptr -fno-sanitize-recover=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,vla-bound,vptr" +export SANITIZER="address -fsanitize=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,unsigned-integer-overflow,vla-bound,vptr,nonnull-attribute -fno-sanitize-recover=bool,array-bounds,float-divide-by-zero,function,integer-divide-by-zero,return,shift,signed-integer-overflow,vla-bound,vptr,nonnull-attribute" tools/oss-fuzz.sh FUZZING_TYPE=${1:-sanity} -- 2.39.2