From 3c7ed34ce93f04f9d8e6d5c4a22f746a5a7c00dc Mon Sep 17 00:00:00 2001
From: Ivan Nardi <12729895+IvanNardi@users.noreply.github.com>
Date: Tue, 2 Jan 2024 15:22:44 +0100
Subject: fuzz: improve fuzzing coverage (#2239)

---
 src/lib/ndpi_analyze.c | 3 +++
 src/lib/ndpi_hash.c    | 2 +-
 2 files changed, 4 insertions(+), 1 deletion(-)

(limited to 'src/lib')

diff --git a/src/lib/ndpi_analyze.c b/src/lib/ndpi_analyze.c
index 06d461561..198aa4f9f 100644
--- a/src/lib/ndpi_analyze.c
+++ b/src/lib/ndpi_analyze.c
@@ -1729,6 +1729,9 @@ double ndpi_pearson_correlation(u_int32_t *values_a, u_int32_t *values_b, u_int1
   variance_a = sum_squared_diff_a / (double)num_values, variance_b = sum_squared_diff_b / (double)num_values;
   covariance = sum_product_diff / (double)num_values;
 
+  if(variance_a == 0.0 || variance_b == 0.0)
+    return(0.0);
+
   return(covariance / sqrt(variance_a * variance_b));
 }
 
diff --git a/src/lib/ndpi_hash.c b/src/lib/ndpi_hash.c
index 0a3507d76..c0d653142 100644
--- a/src/lib/ndpi_hash.c
+++ b/src/lib/ndpi_hash.c
@@ -134,7 +134,7 @@ u_int32_t ndpi_hash_string_len(const char *str, u_int len) {
   two independent 64-bit linear congruential generators are applied
   results are mixed, scrambled and cast to 32-bit
 */
-u_int32_t ndpi_quick_16_byte_hash(u_int8_t *in_16_bytes_long) {
+u_int32_t ndpi_quick_16_byte_hash(const u_int8_t *in_16_bytes_long) {
   u_int64_t a = *(u_int64_t*)(in_16_bytes_long + 0);
   u_int64_t c = *(u_int64_t*)(in_16_bytes_long + 8);
 
-- 
cgit v1.2.3