From da39835bf48cc0a2e1d04cff8d486ce5bd0f9548 Mon Sep 17 00:00:00 2001 From: Guillaume Roguez <guillaume.roguez@savoirfairelinux.com> Date: Thu, 3 Nov 2016 16:31:09 -0400 Subject: [PATCH] prevent a crash if im::sendSipMessage fails im::sendSipMessage() may throw an exception but caller doesn't take that into account. This may cause undefined behaviour, like a crash on some platforms. This patch encapsulates the im::sendSipMessage() call into a try/catch. Change-Id: Ie07105f02d64a37a009e510bb674716ec20212c9 Tuleap: #1172 --- src/sip/sipcall.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/sip/sipcall.cpp b/src/sip/sipcall.cpp index 5ff8403627..6c62d60698 100644 --- a/src/sip/sipcall.cpp +++ b/src/sip/sipcall.cpp @@ -671,7 +671,9 @@ SIPCall::sendTextMessage(const std::map<std::string, std::string>& messages, c->sendTextMessage(messages, from); } else { if (inv) { - im::sendSipMessage(inv.get(), messages); + try { + im::sendSipMessage(inv.get(), messages); + } catch (...) {} } else { pendingOutMessages_.emplace_back(messages, from); RING_ERR("[call:%s] sendTextMessage: no invite session for this call", getCallId().c_str()); -- GitLab