From b2a057941ada78ae228da21c311347d2d5469162 Mon Sep 17 00:00:00 2001 From: Benny Prijono Date: Mon, 17 Dec 2007 12:16:08 +0000 Subject: Fixed errors in SDP: 1) scanner is not initialized before pjmedia_sdp_parse() is called, 2) added null termination in attribute for more robustness git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1635 74dad513-b988-da41-8d7b-12977e46ad98 --- pjmedia/src/pjmedia/sdp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pjmedia/src/pjmedia/sdp.c b/pjmedia/src/pjmedia/sdp.c index be6f8025..b814ccd1 100644 --- a/pjmedia/src/pjmedia/sdp.c +++ b/pjmedia/src/pjmedia/sdp.c @@ -248,6 +248,8 @@ PJ_DEF(pj_status_t) pjmedia_sdp_attr_get_rtpmap( const pjmedia_sdp_attr *attr, PJ_ASSERT_RETURN(attr->value.slen != 0, PJMEDIA_SDP_EINATTR); + init_sdp_parser(); + /* Check if input is null terminated, and null terminate if * necessary. Unfortunately this may crash the application if * attribute was allocated from a read-only memory location. @@ -366,6 +368,8 @@ PJ_DEF(pj_status_t) pjmedia_sdp_attr_get_rtcp(const pjmedia_sdp_attr *attr, PJ_ASSERT_RETURN(pj_strcmp2(&attr->name, "rtcp")==0, PJ_EINVALIDOP); + init_sdp_parser(); + /* fmtp BNF: * a=rtcp: [nettype addrtype address] */ @@ -463,7 +467,7 @@ PJ_DEF(pj_status_t) pjmedia_sdp_rtpmap_to_attr(pj_pool_t *pool, attr->value.slen = len; attr->value.ptr = (char*) pj_pool_alloc(pool, attr->value.slen); - pj_memcpy(attr->value.ptr, tempbuf, attr->value.slen); + pj_memcpy(attr->value.ptr, tempbuf, attr->value.slen+1); *p_attr = attr; return PJ_SUCCESS; -- cgit v1.2.3