diff --git a/src/libs/zbxip/ip.c b/src/libs/zbxip/ip.c index 44e7699a0786..32f8a697d131 100644 --- a/src/libs/zbxip/ip.c +++ b/src/libs/zbxip/ip.c @@ -17,6 +17,8 @@ #include "zbxnum.h" #include "zbxstr.h" +#include + /****************************************************************************** * * * Purpose: checks if string is IPv4 address * @@ -38,6 +40,10 @@ int zbx_is_ip4(const char *ip) { if (0 != isdigit(*p)) { + if ((INT_MAX - (*p - '0')) / 10 < octet) { + res = FAIL; + break; + } octet = octet * 10 + (*p - '0'); digits++; }