From b522d7855debe28cc974cdacea15cc5f9ccb722d Mon Sep 17 00:00:00 2001
From: Tristan Matthews <tristan.matthews@savoirfairelinux.com>
Date: Tue, 15 Apr 2014 11:04:57 -0400
Subject: [PATCH] sip: do NULL check before dereference

Refs #45344
---
 daemon/src/sip/sipvoiplink.cpp | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp
index 0927fa7652..c1afd873f2 100644
--- a/daemon/src/sip/sipvoiplink.cpp
+++ b/daemon/src/sip/sipvoiplink.cpp
@@ -2195,7 +2195,7 @@ void transaction_state_changed_cb(pjsip_inv_session * inv,
     pjsip_rx_data *r_data = event->body.tsx_state.src.rdata;
 
     // Get the message inside the transaction
-    if (!r_data->msg_info.msg->body)
+    if (!r_data or !r_data->msg_info.msg->body)
         return;
 
     const char *formattedMsgPtr = static_cast<const char*>(r_data->msg_info.msg->body->data);
@@ -2230,9 +2230,6 @@ void transaction_state_changed_cb(pjsip_inv_session * inv,
 
         Manager::instance().incomingMessage(call->getCallId(), from, findTextMessage(formattedMessage));
 
-        if (!event->body.tsx_state.src.rdata)
-            return;
-
         // Respond with a 200/OK
         sendOK(inv->dlg, r_data, tsx);
 
-- 
GitLab