diff options
author | Vitaly Lavrov <vel21ripn@gmail.com> | 2022-02-28 17:01:00 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-02-28 15:01:00 +0100 |
commit | c390085f91d569d953ab5e199e95d580a5cf8f63 (patch) | |
tree | 40fa24d99858b4dc3bcef0b52be51df1114f4c2d | |
parent | 00d9a16b6a7e3c5ca90930e3991ac3476bd48780 (diff) |
Bug fixing. (#1459)
The '--enable-debug-messages' option works again.
Fixed warning in ahocorasick.c
Fixed integer overflow in ndpiReader.c for 32bit systems.
-rw-r--r-- | example/ndpiReader.c | 10 | ||||
-rw-r--r-- | src/include/ndpi_main.h | 4 | ||||
-rw-r--r-- | src/lib/third_party/src/ahocorasick.c | 2 |
3 files changed, 10 insertions, 6 deletions
diff --git a/example/ndpiReader.c b/example/ndpiReader.c index e568a2fe7..f54ac138c 100644 --- a/example/ndpiReader.c +++ b/example/ndpiReader.c @@ -2958,7 +2958,7 @@ static void printResults(u_int64_t processing_time_usec, u_int64_t setup_time_us struct tm result; if(live_capture) traffic_duration = processing_time_usec; - else traffic_duration = (pcap_end.tv_sec*1000000 + pcap_end.tv_usec) - (pcap_start.tv_sec*1000000 + pcap_start.tv_usec); + else traffic_duration = ((u_int64_t)pcap_end.tv_sec*1000000 + pcap_end.tv_usec) - ((u_int64_t)pcap_start.tv_sec*1000000 + pcap_start.tv_usec); printf("\tnDPI throughput: %s pps / %s/sec\n", formatPackets(t, buf), formatTraffic(b, 1, buf1)); if(traffic_duration != 0) { @@ -3377,8 +3377,8 @@ static void ndpi_process_packet(u_char *args, u_int64_t processing_time_usec, setup_time_usec; gettimeofday(&end, NULL); - processing_time_usec = end.tv_sec*1000000 + end.tv_usec - (begin.tv_sec*1000000 + begin.tv_usec); - setup_time_usec = begin.tv_sec*1000000 + begin.tv_usec - (startup_time.tv_sec*1000000 + startup_time.tv_usec); + processing_time_usec = (u_int64_t)end.tv_sec*1000000 + end.tv_usec - ((u_int64_t)begin.tv_sec*1000000 + begin.tv_usec); + setup_time_usec = (u_int64_t)begin.tv_sec*1000000 + begin.tv_usec - ((u_int64_t)startup_time.tv_sec*1000000 + startup_time.tv_usec); printResults(processing_time_usec, setup_time_usec); @@ -3558,8 +3558,8 @@ void test_lib() { #endif gettimeofday(&end, NULL); - processing_time_usec = end.tv_sec*1000000 + end.tv_usec - (begin.tv_sec*1000000 + begin.tv_usec); - setup_time_usec = begin.tv_sec*1000000 + begin.tv_usec - (startup_time.tv_sec*1000000 + startup_time.tv_usec); + processing_time_usec = (u_int64_t)end.tv_sec*1000000 + end.tv_usec - ((u_int64_t)begin.tv_sec*1000000 + begin.tv_usec); + setup_time_usec = (u_int64_t)begin.tv_sec*1000000 + begin.tv_usec - ((u_int64_t)startup_time.tv_sec*1000000 + startup_time.tv_usec); /* Printing cumulative results */ printResults(processing_time_usec, setup_time_usec); diff --git a/src/include/ndpi_main.h b/src/include/ndpi_main.h index 9029265bb..66567d871 100644 --- a/src/include/ndpi_main.h +++ b/src/include/ndpi_main.h @@ -25,6 +25,10 @@ #define __NDPI_MAIN_H__ #include "ndpi_includes.h" +#ifdef NDPI_LIB_COMPILATION +/* for macros NDPI_LOG_* in ndpi_define.h */ +#include "ndpi_config.h" +#endif #include "ndpi_define.h" #include "ndpi_protocol_ids.h" #include "ndpi_typedefs.h" diff --git a/src/lib/third_party/src/ahocorasick.c b/src/lib/third_party/src/ahocorasick.c index 39b08443b..aefd7ae03 100644 --- a/src/lib/third_party/src/ahocorasick.c +++ b/src/lib/third_party/src/ahocorasick.c @@ -798,7 +798,7 @@ static void node_release(AC_NODE_t * thiz, int free_pattern) /* Nonzero if X is not aligned on a "long" boundary. */ #undef UNALIGNED /* Windows defined it but differently from what Aho expects */ -#define UNALIGNED(X) ((long)X & (__SIZEOF_LONG__ - 1)) +#define UNALIGNED(X) ((intptr_t)X & (__SIZEOF_LONG__ - 1)) #define LBLOCKSIZE __SIZEOF_LONG__ |