From b536073e22ca10abfcc927fdf58f17c559a19449 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Fri, 15 Dec 2006 11:33:34 +0000 Subject: Fixed ticket #45: Accept, Allow, and Supported header may contain empty sequence git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@854 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip/sip_parser.c | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'pjsip') diff --git a/pjsip/src/pjsip/sip_parser.c b/pjsip/src/pjsip/sip_parser.c index bb6d6baa..771cd6ec 100644 --- a/pjsip/src/pjsip/sip_parser.c +++ b/pjsip/src/pjsip/sip_parser.c @@ -1532,6 +1532,13 @@ void pjsip_parse_end_hdr_imp( pj_scanner *scanner ) static void parse_generic_array_hdr( pjsip_generic_array_hdr *hdr, pj_scanner *scanner) { + /* Some header fields allow empty elements in the value: + * Accept, Allow, Supported + */ + if (*scanner->curptr == '\r' || *scanner->curptr == '\n') { + goto end; + } + pj_scan_get( scanner, &pjsip_NOT_COMMA_OR_NEWLINE, &hdr->values[0]); hdr->count++; @@ -1541,6 +1548,8 @@ static void parse_generic_array_hdr( pjsip_generic_array_hdr *hdr, &hdr->values[hdr->count]); hdr->count++; } + +end: parse_hdr_end(scanner); } -- cgit v1.2.3