aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Deri <deri@ntop.org>2019-11-26 17:58:49 +0100
committerLuca Deri <deri@ntop.org>2019-11-26 17:58:49 +0100
commitd328c3bccc55d0c0171a3c227a23b8e4e663819d (patch)
tree1812dc8ea5ec70526414f6cc9742551d340734be
parent83685684434f5f1b6519c74f0a0e3965e36e6126 (diff)
Overflow fix
1 files changed, 3 insertions, 2 deletions
diff --git a/src/lib/ndpi_utils.c b/src/lib/ndpi_utils.c
index 035a51e96..a988858a2 100644
--- a/src/lib/ndpi_utils.c
+++ b/src/lib/ndpi_utils.c
@@ -211,10 +211,11 @@ void ndpi_tdestroy(void *vrootp, void (*freefct)(void *))
u_int8_t ndpi_net_match(u_int32_t ip_to_check,
u_int32_t net,
- u_int32_t num_bits)
-{
+ u_int32_t num_bits) {
u_int32_t mask = 0;
+ num_bits &= 0x1F; /* Avoid overflows */
+
mask = ~(~mask >> num_bits);
return(((ip_to_check & mask) == (net & mask)) ? 1 : 0);