summaryrefslogtreecommitdiff
path: root/pjsip/src
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-12-15 11:33:34 +0000
committerBenny Prijono <bennylp@teluu.com>2006-12-15 11:33:34 +0000
commitb536073e22ca10abfcc927fdf58f17c559a19449 (patch)
tree6b0d6d7e955fb16337e77e6685737792aade1934 /pjsip/src
parent934e6150f8e192db9eed641e25afe90fde99581c (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/src')
-rw-r--r--pjsip/src/pjsip/sip_parser.c9
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);
}