From 5f9ba4ea90c5e8b556c5e51d57cacd092da5fbba Mon Sep 17 00:00:00 2001 From: Sandrine Avakian Date: Mon, 27 Mar 2017 16:05:43 +0200 Subject: [PATCH] replacing ms_strdup_safe by bctbx_strdup. Adding checks in sal_call_terminate_with_error --- coreapi/linphonecall.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/coreapi/linphonecall.c b/coreapi/linphonecall.c index 750afb677..006387f35 100644 --- a/coreapi/linphonecall.c +++ b/coreapi/linphonecall.c @@ -5091,16 +5091,19 @@ int linphone_call_terminate(LinphoneCall *call) { static void linphone_call_error_info_to_sal_op(const LinphoneErrorInfo* ei, SalErrorInfo* sei){ sei->reason = linphone_error_info_get_reason(ei); - sei->status_string = ms_strdup_safe(ei->phrase); - sei->full_string = ms_strdup_safe(ei->full_string); - sei->warnings = ms_strdup_safe(ei->warnings); + sei->status_string = bctbx_strdup(ei->phrase); + sei->full_string = bctbx_strdup(ei->full_string); + sei->warnings = bctbx_strdup(ei->warnings); sei->protocol_code = ei->protocol_code; - sei->protocol = ms_strdup_safe(ei->protocol); + sei->protocol = bctbx_strdup(ei->protocol); } int linphone_call_terminate_with_error(LinphoneCall *call , const LinphoneErrorInfo *ei){ SalErrorInfo sei; - linphone_call_error_info_to_sal_op(ei, &sei); + if (ei != NULL) + { + linphone_call_error_info_to_sal_op(ei, &sei); + } ms_message("Terminate call [%p] which is currently in state %s", call, linphone_call_state_to_string(call->state)); switch (call->state) { @@ -5118,7 +5121,12 @@ int linphone_call_terminate_with_error(LinphoneCall *call , const LinphoneErrorI call->op = NULL; break; default: - sal_call_terminate_with_error(call->op, &sei); + if (ei == NULL){ + sal_call_terminate(call->op); + } + else{ + sal_call_terminate_with_error(call->op, &sei); + } break; } terminate_call(call);