From ada4fe4aa8f88300cfc0dbe6ee965975274b1c40 Mon Sep 17 00:00:00 2001 From: Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> Date: Tue, 6 Dec 2022 17:41:58 +0100 Subject: fuzz: add a new fuzzer testing memory allocation failures (#1818) Try to fuzz error paths triggered by allocation errors. Fix some errors already found by this new fuzzer. Basic idea taken from: https://github.com/harfbuzz/harfbuzz/pull/2566/files `FUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION` is a standard define used to (not)compile specific code in fuzzing builds. See: https://llvm.org/docs/LibFuzzer.html --- src/lib/ndpi_serializer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/lib/ndpi_serializer.c') diff --git a/src/lib/ndpi_serializer.c b/src/lib/ndpi_serializer.c index f383d471c..f8652dbc3 100644 --- a/src/lib/ndpi_serializer.c +++ b/src/lib/ndpi_serializer.c @@ -224,8 +224,10 @@ int ndpi_init_serializer_ll(ndpi_serializer *_serializer, /* nothing to do */ } else if (fmt == ndpi_serialization_format_csv) { - if (ndpi_init_serializer_buffer(&serializer->header, NDPI_SERIALIZER_DEFAULT_HEADER_SIZE) != 0) + if (ndpi_init_serializer_buffer(&serializer->header, NDPI_SERIALIZER_DEFAULT_HEADER_SIZE) != 0) { + ndpi_term_serializer(_serializer); return(-1); + } } else /* ndpi_serialization_format_tlv */ { serializer->buffer.data[0] = 1; /* version */ -- cgit v1.2.3