diff options
author | Benny Prijono <bennylp@teluu.com> | 2006-12-15 11:33:34 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2006-12-15 11:33:34 +0000 |
commit | b536073e22ca10abfcc927fdf58f17c559a19449 (patch) | |
tree | 6b0d6d7e955fb16337e77e6685737792aade1934 /pjsip | |
parent | 934e6150f8e192db9eed641e25afe90fde99581c (diff) |
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
Diffstat (limited to 'pjsip')
-rw-r--r-- | pjsip/src/pjsip/sip_parser.c | 9 |
1 files changed, 9 insertions, 0 deletions
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); } |