diff options
author | Nardi Ivan <nardi.ivan@gmail.com> | 2023-09-15 20:30:30 +0200 |
---|---|---|
committer | Ivan Nardi <12729895+IvanNardi@users.noreply.github.com> | 2023-09-16 11:26:11 +0200 |
commit | 70814002a98ec52deda2ff61ac03613916c3efeb (patch) | |
tree | 05464457bdc5d5a3ab43befdefff7894ba2cd8ed /src | |
parent | 0828dff3acae6e06e6ac1d284ecb2c19ad83d27d (diff) |
fuzz: extend fuzzing coverage
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/ndpi_domain_classify.c | 3 | ||||
-rw-r--r-- | src/lib/ndpi_main.c | 26 | ||||
-rw-r--r-- | src/lib/third_party/include/binaryfusefilter.h | 2 |
3 files changed, 14 insertions, 17 deletions
diff --git a/src/lib/ndpi_domain_classify.c b/src/lib/ndpi_domain_classify.c index c475c46f9..a289f2c41 100644 --- a/src/lib/ndpi_domain_classify.c +++ b/src/lib/ndpi_domain_classify.c @@ -130,6 +130,9 @@ u_int32_t ndpi_domain_classify_add_domains(ndpi_domain_classify *s, FILE *fd; char *line; + if(!s || !file_path) + return(false); + for(i=0; i<MAX_NUM_NDPI_DOMAIN_CLASSIFICATIONS; i++) { if(s->classes[i].class_id == class_id) { break; diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index 6cbbcf252..17d1cd36c 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -122,8 +122,6 @@ #include "nbpf.h" #endif -static int _ndpi_debug_callbacks = 0; - /* #define DGA_DEBUG 1 */ /* #define MATCH_DEBUG 1 */ @@ -5307,11 +5305,10 @@ static void ndpi_enabled_callbacks_init(struct ndpi_detection_module_struct *ndp if(!NDPI_ISSET(dbm,ndpi_str->callback_buffer[a].ndpi_protocol_id)) continue; if(!ndpi_proto_cb_tcp_payload(ndpi_str,a)) continue; if(!count_only) { - if(_ndpi_debug_callbacks) - NDPI_LOG_DBG2(ndpi_str, "callback_buffer_tcp_payload, adding buffer %u as entry %u\n", a, - ndpi_str->callback_buffer_size_tcp_payload); - memcpy(&ndpi_str->callback_buffer_tcp_payload[ndpi_str->callback_buffer_size_tcp_payload], - &ndpi_str->callback_buffer[a], sizeof(struct ndpi_call_function_struct)); + NDPI_LOG_DBG2(ndpi_str, "callback_buffer_tcp_payload, adding buffer %u as entry %u\n", a, + ndpi_str->callback_buffer_size_tcp_payload); + memcpy(&ndpi_str->callback_buffer_tcp_payload[ndpi_str->callback_buffer_size_tcp_payload], + &ndpi_str->callback_buffer[a], sizeof(struct ndpi_call_function_struct)); } ndpi_str->callback_buffer_size_tcp_payload++; } @@ -5319,11 +5316,10 @@ static void ndpi_enabled_callbacks_init(struct ndpi_detection_module_struct *ndp if(!NDPI_ISSET(dbm,ndpi_str->callback_buffer[a].ndpi_protocol_id)) continue; if(!ndpi_proto_cb_tcp_nopayload(ndpi_str,a)) continue; if(!count_only) { - if(_ndpi_debug_callbacks) - NDPI_LOG_DBG2( ndpi_str, - "\tcallback_buffer_tcp_no_payload, additional adding buffer %u to no_payload process\n", a); - memcpy(&ndpi_str->callback_buffer_tcp_no_payload[ndpi_str->callback_buffer_size_tcp_no_payload], - &ndpi_str->callback_buffer[a], sizeof(struct ndpi_call_function_struct)); + NDPI_LOG_DBG2(ndpi_str, + "\tcallback_buffer_tcp_no_payload, additional adding buffer %u to no_payload process\n", a); + memcpy(&ndpi_str->callback_buffer_tcp_no_payload[ndpi_str->callback_buffer_size_tcp_no_payload], + &ndpi_str->callback_buffer[a], sizeof(struct ndpi_call_function_struct)); } ndpi_str->callback_buffer_size_tcp_no_payload++; } @@ -5333,8 +5329,7 @@ static void ndpi_enabled_callbacks_init(struct ndpi_detection_module_struct *ndp if(!NDPI_ISSET(dbm,ndpi_str->callback_buffer[a].ndpi_protocol_id)) continue; if(!ndpi_proto_cb_udp(ndpi_str,a)) continue; if(!count_only) { - if(_ndpi_debug_callbacks) - NDPI_LOG_DBG2(ndpi_str, "callback_buffer_size_udp: adding buffer : %u\n", a); + NDPI_LOG_DBG2(ndpi_str, "callback_buffer_size_udp: adding buffer : %u\n", a); memcpy(&ndpi_str->callback_buffer_udp[ndpi_str->callback_buffer_size_udp], &ndpi_str->callback_buffer[a], sizeof(struct ndpi_call_function_struct)); @@ -5347,8 +5342,7 @@ static void ndpi_enabled_callbacks_init(struct ndpi_detection_module_struct *ndp if(!NDPI_ISSET(dbm,ndpi_str->callback_buffer[a].ndpi_protocol_id)) continue; if(!ndpi_proto_cb_other(ndpi_str,a)) continue; if(!count_only) { - if(_ndpi_debug_callbacks) - NDPI_LOG_DBG2(ndpi_str, "callback_buffer_non_tcp_udp: adding buffer : %u\n", a); + NDPI_LOG_DBG2(ndpi_str, "callback_buffer_non_tcp_udp: adding buffer : %u\n", a); memcpy(&ndpi_str->callback_buffer_non_tcp_udp[ndpi_str->callback_buffer_size_non_tcp_udp], &ndpi_str->callback_buffer[a], sizeof(struct ndpi_call_function_struct)); diff --git a/src/lib/third_party/include/binaryfusefilter.h b/src/lib/third_party/include/binaryfusefilter.h index 6e2498baa..8326eb034 100644 --- a/src/lib/third_party/include/binaryfusefilter.h +++ b/src/lib/third_party/include/binaryfusefilter.h @@ -216,7 +216,7 @@ static inline bool binary_fuse8_allocate(uint32_t size, filter->SegmentLength = 262144; } filter->SegmentLengthMask = filter->SegmentLength - 1; - double sizeFactor = binary_fuse_calculate_size_factor(arity, size); + double sizeFactor = size <= 1 ? 0 : binary_fuse_calculate_size_factor(arity, size); uint32_t capacity = size <= 1 ? 0 : (uint32_t)(round((double)size * sizeFactor)); uint32_t initSegmentCount = (capacity + filter->SegmentLength - 1) / filter->SegmentLength - |