diff --git a/src/lib/ndpi_main.c b/src/lib/ndpi_main.c index 781fc1e2988..5447c03e0e5 100644 --- a/src/lib/ndpi_main.c +++ b/src/lib/ndpi_main.c @@ -4151,13 +4151,15 @@ int ndpi_add_ip_risk_mask(struct ndpi_detection_module_struct *ndpi_str, if(!is_ipv6 && ndpi_str->ip_risk_mask_ptree) { struct in_addr pin; - pin.s_addr = inet_addr(addr); + if(inet_pton(AF_INET, addr, &pin) != 1) + return(-1); node = add_to_ptree(ndpi_str->ip_risk_mask_ptree, AF_INET, &pin, cidr ? atoi(cidr) : 32 /* bits */); } else if(is_ipv6 && ndpi_str->ip_risk_mask_ptree6) { struct in6_addr pin6; - inet_pton(AF_INET6, addr, &pin6); + if(inet_pton(AF_INET6, addr, &pin6) != 1) + return(-1); node = add_to_ptree(ndpi_str->ip_risk_mask_ptree6, AF_INET6, &pin6, cidr ? atoi(cidr) : 128 /* bits */); } else {