From 65602b9e9eaea6593544c5904e827b09f8e52904 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Wed, 13 Oct 2010 11:17:51 +0000 Subject: Fixed #1147 (Bug in parsing multipart message bodies (thanks Johan Lantz for the report)): leave the quote in parameter values and let the multipart code handle this instead git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@3342 74dad513-b988-da41-8d7b-12977e46ad98 --- pjsip/src/pjsip/sip_multipart.c | 5 +++++ pjsip/src/pjsip/sip_parser.c | 3 +-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'pjsip') diff --git a/pjsip/src/pjsip/sip_multipart.c b/pjsip/src/pjsip/sip_multipart.c index a3311504..7a910636 100644 --- a/pjsip/src/pjsip/sip_multipart.c +++ b/pjsip/src/pjsip/sip_multipart.c @@ -521,6 +521,11 @@ PJ_DEF(pjsip_msg_body*) pjsip_multipart_parse(pj_pool_t *pool, ctype_param = pjsip_param_find(&ctype->param, &STR_BOUNDARY); if (ctype_param) { boundary = ctype_param->value; + if (boundary.slen>2 && *boundary.ptr=='"') { + /* Remove quote */ + boundary.ptr++; + boundary.slen -= 2; + } TRACE_((THIS_FILE, "Boundary is specified: '%.*s'", (int)boundary.slen, boundary.ptr)); } diff --git a/pjsip/src/pjsip/sip_parser.c b/pjsip/src/pjsip/sip_parser.c index de68dd8a..61559601 100644 --- a/pjsip/src/pjsip/sip_parser.c +++ b/pjsip/src/pjsip/sip_parser.c @@ -1856,8 +1856,7 @@ static pjsip_hdr* parse_hdr_content_type( pjsip_parse_ctx *ctx ) /* Parse media parameters */ while (*scanner->curptr == ';') { pjsip_param *param = PJ_POOL_ALLOC_T(ctx->pool, pjsip_param); - int_parse_param(scanner, ctx->pool, ¶m->name, ¶m->value, - PJSIP_PARSE_REMOVE_QUOTE); + int_parse_param(scanner, ctx->pool, ¶m->name, ¶m->value, 0); pj_list_push_back(&hdr->media.param, param); } -- cgit v1.2.3