From ef005a20c82918f8849fdfacb1ae3fdb8fdbe0c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C3=ABl=20Carr=C3=A9?= <rafael.carre@savoirfairelinux.com> Date: Thu, 25 Aug 2011 17:45:10 -0400 Subject: [PATCH] sipvoiplink : don't crash on transfers --- daemon/src/sip/sipvoiplink.cpp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/daemon/src/sip/sipvoiplink.cpp b/daemon/src/sip/sipvoiplink.cpp index 931198c3e8..9171e779af 100644 --- a/daemon/src/sip/sipvoiplink.cpp +++ b/daemon/src/sip/sipvoiplink.cpp @@ -3339,7 +3339,6 @@ void transfer_client_cb (pjsip_evsub *sub, pjsip_event *event) /* * On incoming NOTIFY, notify application about call transfer progress. */ - pjsip_status_line status_line; _debug("UserAgent: PJSIP_EVSUB_STATE_ACTIVE PJSIP_EVSUB_STATE_TERMINATED"); @@ -3355,15 +3354,16 @@ void transfer_client_cb (pjsip_evsub *sub, pjsip_event *event) } /* Application is not interested with call progress status */ - if (!link or !event) { - _warn ("UserAgent: Either link or event is empty in transfer callback"); + if (!link or !event) return; - } - pjsip_rx_data* r_data = event->body.rx_msg.rdata; + if (!r_data) + return; std::string request = pjsip_rx_data_get_info (r_data); + pjsip_status_line status_line; + /* This better be a NOTIFY request */ if (r_data->msg_info.msg->line.req.method.id == PJSIP_OTHER_METHOD and request.find ("NOTIFY") != std::string::npos) { -- GitLab