diff options
author | Benny Prijono <bennylp@teluu.com> | 2007-08-31 12:35:56 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2007-08-31 12:35:56 +0000 |
commit | 73fb6a5d604c925429aff2a618b8acc74f0cf702 (patch) | |
tree | b2b8c6580c7a4684f236cd93536aaac874b0f6db /pjmedia | |
parent | 5ac8f5a93ff6f9b5dcef98b5839596cd9085028b (diff) |
Fixed ticket #366: Crash in SDP negotiator when initial local SDP is not specified in pjmedia_sdp_neg_create_w_local_offer() (thanks Philippe Leuba)
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@1427 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjmedia')
-rw-r--r-- | pjmedia/src/pjmedia/sdp_neg.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/pjmedia/src/pjmedia/sdp_neg.c b/pjmedia/src/pjmedia/sdp_neg.c index 12c0f49c..1b6c3e45 100644 --- a/pjmedia/src/pjmedia/sdp_neg.c +++ b/pjmedia/src/pjmedia/sdp_neg.c @@ -334,9 +334,12 @@ PJ_DEF(pj_status_t) pjmedia_sdp_neg_set_local_answer( pj_pool_t *pool, /* State now is STATE_WAIT_NEGO. */ neg->state = PJMEDIA_SDP_NEG_STATE_WAIT_NEGO; - if (local) + if (local) { + if (!neg->initial_sdp) { + neg->initial_sdp = pjmedia_sdp_session_clone(pool, local); + } neg->neg_local_sdp = pjmedia_sdp_session_clone(pool, local); - else { + } else { PJ_ASSERT_RETURN(neg->initial_sdp, PJMEDIA_SDPNEG_ENOINITIAL); neg->neg_local_sdp = pjmedia_sdp_session_clone(pool, neg->initial_sdp); } |