summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip/sip_parser.c
diff options
context:
space:
mode:
Diffstat (limited to 'pjsip/src/pjsip/sip_parser.c')
-rw-r--r--pjsip/src/pjsip/sip_parser.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/pjsip/src/pjsip/sip_parser.c b/pjsip/src/pjsip/sip_parser.c
index 26c46d12..378c22fa 100644
--- a/pjsip/src/pjsip/sip_parser.c
+++ b/pjsip/src/pjsip/sip_parser.c
@@ -1671,14 +1671,13 @@ static void parse_generic_array_hdr( pjsip_generic_array_hdr *hdr,
&hdr->values[hdr->count]);
hdr->count++;
- while (*scanner->curptr == ',') {
+ while ((hdr->count < PJSIP_GENERIC_ARRAY_MAX_COUNT) &&
+ (*scanner->curptr == ','))
+ {
pj_scan_get_char(scanner);
pj_scan_get( scanner, &pconst.pjsip_NOT_COMMA_OR_NEWLINE,
&hdr->values[hdr->count]);
hdr->count++;
-
- if (hdr->count >= PJSIP_GENERIC_ARRAY_MAX_COUNT)
- break;
}
end: