diff --git a/util/config_file.c b/util/config_file.c index 26185da02..e7b2f1959 100644 --- a/util/config_file.c +++ b/util/config_file.c @@ -1761,6 +1761,10 @@ cfg_mark_ports(const char* str, int allow, int* avail, int num) #endif if(!mid) { int port = atoi(str); + if(port < 0) { + log_err("Prevent out-of-bounds access to array avail"); + return 0; + } if(port == 0 && strcmp(str, "0") != 0) { log_err("cannot parse port number '%s'", str); return 0;