diff --git a/channels/chan_sip.c b/channels/chan_sip.c index d9175a8087e81a0efadc15eac491bcc47d240d4a..6c635252ee2b23e405db09b9f8c339726a0ca03c 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -3211,7 +3211,7 @@ static int proxy_update(struct sip_proxy *proxy) static int port_str2int(const char *pt, unsigned int standard) { int port = standard; - if (ast_strlen_zero(pt) || (sscanf(pt, "%30d", &port) != 1) || (port < 0)) { + if (ast_strlen_zero(pt) || (sscanf(pt, "%30d", &port) != 1) || (port < 1) || (port > 65535)) { port = standard; }