summaryrefslogtreecommitdiff
path: root/pjmedia
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2007-08-31 12:35:56 +0000
committerBenny Prijono <bennylp@teluu.com>2007-08-31 12:35:56 +0000
commit73fb6a5d604c925429aff2a618b8acc74f0cf702 (patch)
treeb2b8c6580c7a4684f236cd93536aaac874b0f6db /pjmedia
parent5ac8f5a93ff6f9b5dcef98b5839596cd9085028b (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.c7
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);
}