From 604a080f374e6f7abcf41612068e15c7d3b7d316 Mon Sep 17 00:00:00 2001 From: Ming Rui Zhang <mingrui.zhang@savoirfairelinux.com> Date: Thu, 18 Jul 2019 17:55:18 -0400 Subject: [PATCH] sip: fix the issue when the endpoint request fails, system crashes Change-Id: I434ed02a0a019a254c547b52ff134939ffa7d65d --- src/sip/sipaccount.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/sip/sipaccount.cpp b/src/sip/sipaccount.cpp index 92f90dde60..34687411c8 100644 --- a/src/sip/sipaccount.cpp +++ b/src/sip/sipaccount.cpp @@ -2137,14 +2137,12 @@ SIPAccount::sendTextMessage(const std::string& to, const std::map<std::string, s im::fillPJSIPMessageBody(*tdata, payloads); - // Send message request with callback onComplete - auto token = t.release(); - status = pjsip_endpt_send_request(link_->getEndpoint(), tdata, -1, token, &onComplete); + // Send message request with callback SendMessageOnComplete + status = pjsip_endpt_send_request(link_->getEndpoint(), tdata, -1, t.release(), &onComplete); if (status != PJ_SUCCESS) { JAMI_ERR("Unable to send request: %s", sip_utils::sip_strerror(status).c_str()); messageEngine_.onMessageSent(to, id, false); - delete token; return; } } @@ -2179,13 +2177,11 @@ SIPAccount::onComplete(void *token, pjsip_event *event) cseq_hdr->cseq += 1; // Resend request - auto data = c.release(); - status = pjsip_endpt_send_request(acc->link_->getEndpoint(), new_request, -1, data, &onComplete); + status = pjsip_endpt_send_request(acc->link_->getEndpoint(), new_request, -1, c.release(), &onComplete); if (status != PJ_SUCCESS) { JAMI_ERR("Unable to send request: %s", sip_utils::sip_strerror(status).c_str()); acc->messageEngine_.onMessageSent(c->to, c->id, false); - delete data; } return; } -- GitLab