From 25e51fc63a2221e0391619f3895780b7a9fd5df4 Mon Sep 17 00:00:00 2001 From: Ghislain MARY Date: Tue, 28 Nov 2017 13:55:03 +0100 Subject: [PATCH] Fix SalCallOp::set_local_media_description() with nullptr parameter. --- src/sal/call-op.cpp | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/src/sal/call-op.cpp b/src/sal/call-op.cpp index bd269be58..43e2179d3 100644 --- a/src/sal/call-op.cpp +++ b/src/sal/call-op.cpp @@ -36,17 +36,21 @@ SalCallOp::~SalCallOp() { } int SalCallOp::set_local_media_description(SalMediaDescription *desc) { - if (desc) sal_media_description_ref(desc); + if (desc) { + sal_media_description_ref(desc); + belle_sip_error_code error; + belle_sdp_session_description_t *sdp = media_description_to_sdp(desc); + vector buffer = marshal_media_description(sdp, error); + if (error != BELLE_SIP_OK) return -1; - belle_sip_error_code error; - belle_sdp_session_description_t *sdp = media_description_to_sdp(desc); - vector buffer = marshal_media_description(sdp, error); - if (error != BELLE_SIP_OK) return -1; + this->local_body.setContentType(ContentType::Sdp); + this->local_body.setBody(move(buffer)); + } else { + this->local_body = Content(); + } - this->local_body.setContentType(ContentType::Sdp); - this->local_body.setBody(move(buffer)); - - if (this->local_media) sal_media_description_unref(this->local_media); + if (this->local_media) + sal_media_description_unref(this->local_media); this->local_media=desc; if (this->remote_media){