diff options
-rwxr-xr-x | autogen.sh | 7 | ||||
-rw-r--r-- | configure.seed | 61 | ||||
-rw-r--r-- | src/lib/protocols/kerberos.c | 2 |
3 files changed, 39 insertions, 31 deletions
diff --git a/autogen.sh b/autogen.sh index e03f93023..acf807f9f 100755 --- a/autogen.sh +++ b/autogen.sh @@ -13,10 +13,16 @@ LIBTOOL=$(command -v libtool) LIBTOOLIZE=$(command -v libtoolize) AUTORECONF=$(command -v autoreconf) PKG_CONFIG=$(command -v pkg-config) +FUZZY= if test -z $AUTOCONF; then echo "autoconf is missing: please install it and try again" exit +else + V=`autoconf --version | head -1 | cut -d ' ' -f 4` + if [ $V="2.6.3" ]; then + FUZZY="dnl> " + fi fi if test -z $AUTOMAKE; then @@ -44,6 +50,7 @@ cat configure.seed | sed \ -e "s/@NDPI_MINOR@/$NDPI_MINOR/g" \ -e "s/@NDPI_PATCH@/$NDPI_PATCH/g" \ -e "s/@NDPI_VERSION_SHORT@/$NDPI_VERSION_SHORT/g" \ + -e "s/@FUZZY@/$FUZZY/g" \ > configure.ac autoreconf -ivf diff --git a/configure.seed b/configure.seed index 3c5602f2d..6726a63c9 100644 --- a/configure.seed +++ b/configure.seed @@ -122,37 +122,38 @@ AC_ARG_ENABLE([debug-messages], AC_DEFINE(NDPI_ENABLE_DEBUG_MESSAGES, 1, [Enable ndpi_debug_messages]) ]) AC_ARG_ENABLE(fuzztargets, - AS_HELP_STRING([--enable-fuzztargets], [Enable fuzz targets]),[enable_fuzztargets=$enableval],[enable_fuzztargets=no]) + AS_HELP_STRING([--enable-fuzztargets], [Enable fuzz targets]),[enable_fuzztargets=$enableval],[enable_fuzztargets=no]) AM_CONDITIONAL([BUILD_FUZZTARGETS], [test "x$enable_fuzztargets" = "xyes"]) -AS_IF([test "x$enable_fuzztargets" = "xyes"], [ - AC_PROG_CXX - AC_LANG_PUSH(C++) - tmp_saved_flags=$[]_AC_LANG_PREFIX[]FLAGS - AX_CHECK_COMPILE_FLAG([-fsanitize=fuzzer],, - [AC_MSG_ERROR([--enable-fuzztargets requires -fsanitize=fuzzer which is only supported by LLVM])], - [-Werror]) - AS_IF([test "x$LIB_FUZZING_ENGINE" = "x"], [ - LIB_FUZZING_ENGINE=-fsanitize=fuzzer - AC_SUBST(LIB_FUZZING_ENGINE) - ]) - _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $LIB_FUZZING_ENGINE" - AC_MSG_CHECKING([whether $CXX accepts $LIB_FUZZING_ENGINE]) - AC_LINK_IFELSE([AC_LANG_SOURCE([[ -#include <sys/types.h> -extern "C" int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); -extern "C" int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { -(void)Data; -(void)Size; -return 0; -} - ]])], - [ AC_MSG_RESULT(yes) - has_sanitizefuzzer=yes], - [ AC_MSG_RESULT(no) ] - ) - _AC_LANG_PREFIX[]FLAGS=$tmp_saved_flags - AC_LANG_POP() -]) + +@FUZZY@ AS_IF([test "x$enable_fuzztargets" = "xyes"], [ +@FUZZY@ AC_PROG_CXX +@FUZZY@ AC_LANG_PUSH(C++) +@FUZZY@ tmp_saved_flags=$[]_AC_LANG_PREFIX[]FLAGS +@FUZZY@ AX_CHECK_COMPILE_FLAG([-fsanitize=fuzzer],, +@FUZZY@ [AC_MSG_ERROR([--enable-fuzztargets requires -fsanitize=fuzzer which is only supported by LLVM])], +@FUZZY@ [-Werror]) +@FUZZY@ AS_IF([test "x$LIB_FUZZING_ENGINE" = "x"], [ +@FUZZY@ LIB_FUZZING_ENGINE=-fsanitize=fuzzer +@FUZZY@ AC_SUBST(LIB_FUZZING_ENGINE) +@FUZZY@ ]) +@FUZZY@ _AC_LANG_PREFIX[]FLAGS="$[]_AC_LANG_PREFIX[]FLAGS $LIB_FUZZING_ENGINE" +@FUZZY@ AC_MSG_CHECKING([whether $CXX accepts $LIB_FUZZING_ENGINE]) +@FUZZY@ AC_LINK_IFELSE([AC_LANG_SOURCE([[ +@FUZZY@ #include <sys/types.h> +@FUZZY@ extern "C" int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size); +@FUZZY@ extern "C" int LLVMFuzzerTestOneInput(const unsigned char *Data, size_t Size) { +@FUZZY@ (void)Data; +@FUZZY@ (void)Size; +@FUZZY@ return 0; +@FUZZY@ } +@FUZZY@ ]])], +@FUZZY@ [ AC_MSG_RESULT(yes) +@FUZZY@ has_sanitizefuzzer=yes], +@FUZZY@ [ AC_MSG_RESULT(no) ] +@FUZZY@ ) +@FUZZY@ _AC_LANG_PREFIX[]FLAGS=$tmp_saved_flags +@FUZZY@ AC_LANG_POP() +@FUZZY@ ]) AM_CONDITIONAL([HAS_FUZZLDFLAGS], [test "x$has_sanitizefuzzer" = "xyes"]) AC_CHECK_LIB(pthread, pthread_setaffinity_np, AC_DEFINE_UNQUOTED(HAVE_PTHREAD_SETAFFINITY_NP, 1, [libc has pthread_setaffinity_np])) diff --git a/src/lib/protocols/kerberos.c b/src/lib/protocols/kerberos.c index f4c1a175a..82bdfb8fc 100644 --- a/src/lib/protocols/kerberos.c +++ b/src/lib/protocols/kerberos.c @@ -152,7 +152,7 @@ void ndpi_search_kerberos(struct ndpi_detection_module_struct *ndpi_struct, || (packet->payload[koffset] == 0x0C) || (packet->payload[koffset] == 0x0D) || (packet->payload[koffset] == 0x0E))) { - u_int16_t koffsetp, body_offset, pad_len; + u_int16_t koffsetp, body_offset = 0, pad_len; u_int8_t msg_type = packet->payload[koffset]; #ifdef KERBEROS_DEBUG |