From 3a62d27f72f5fcf337c18eed7d8ca19145e1eaab Mon Sep 17 00:00:00 2001 From: Simon Morlat Date: Thu, 7 Jun 2018 19:43:55 +0200 Subject: [PATCH] Fix potential crash (rare) --- src/sal/op.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/sal/op.cpp b/src/sal/op.cpp index 219ffb568..b53be38c3 100644 --- a/src/sal/op.cpp +++ b/src/sal/op.cpp @@ -459,11 +459,17 @@ int SalOp::getAddressFamily() const { if (mRefresher) { belle_sip_response_t *resp = belle_sip_transaction_get_response(tr); belle_sip_header_via_t *via = resp ?belle_sip_message_get_header_by_type(resp,belle_sip_header_via_t):NULL; + const char *host; if (!via){ ms_error("Unable to determine IP version from signaling operation, no via header found."); return AF_UNSPEC; } - return (strchr(belle_sip_header_via_get_host(via),':') != NULL) ? AF_INET6 : AF_INET; + host = belle_sip_header_via_get_host(via); + if (!host){ + ms_error("Unable to determine IP version from signaling operation, no via header is not yet completed."); + return AF_UNSPEC; + } + return (strchr(host,':') != NULL) ? AF_INET6 : AF_INET; } else { belle_sip_request_t *req = belle_sip_transaction_get_request(tr); contact=(belle_sip_header_address_t*)belle_sip_message_get_header_by_type(req,belle_sip_header_contact_t);