aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIvan Nardi <12729895+IvanNardi@users.noreply.github.com>2024-01-02 15:22:44 +0100
committerGitHub <noreply@github.com>2024-01-02 15:22:44 +0100
commit3c7ed34ce93f04f9d8e6d5c4a22f746a5a7c00dc (patch)
treefaeea5bb92432c86104ea0e202e5a12e0845f68a /src
parent0f4d9f505429d2644dc291deabfb6da77930e44d (diff)
fuzz: improve fuzzing coverage (#2239)
Diffstat (limited to 'src')
-rw-r--r--src/include/ndpi_api.h2
-rw-r--r--src/lib/ndpi_analyze.c3
-rw-r--r--src/lib/ndpi_hash.c2
3 files changed, 5 insertions, 2 deletions
diff --git a/src/include/ndpi_api.h b/src/include/ndpi_api.h
index f834223c6..c7da8d8a9 100644
--- a/src/include/ndpi_api.h
+++ b/src/include/ndpi_api.h
@@ -1972,7 +1972,7 @@ extern "C" {
/* ******************************* */
- 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);
/* ******************************* */
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);