(cherry picked from commit b7f753ddc727e1d7ab42e7abe607059e03976f8d)
@@ -95,6 +95,7 @@
#define MY_BRANCH ";branch="
#define MY_BRANCH_LEN (sizeof(MY_BRANCH) - 1)
+#define MAX_PORT_VAL 65535
#define MAX_PORT_LEN 7 /* ':' + max 5 letters + \0 */
#define CRLF "\r\n"
@@ -143,6 +143,9 @@ int parse_uri(char* buf, int len, struct sip_uri* uri)
#define case_port( ch, var) \
case ch: \
(var)=(var)*10+ch-'0'; \
+ if((var) > MAX_PORT_VAL) { \
+ goto error_bad_port; \
+ }\
break
#define still_at_user \