]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
AST-2018-005: Add a check for NULL tdata in ast_sip_failover_request
authorGeorge Joseph <gjoseph@digium.com>
Tue, 6 Feb 2018 17:21:32 +0000 (10:21 -0700)
committerGeorge Joseph <gjoseph@digium.com>
Wed, 21 Feb 2018 15:14:40 +0000 (08:14 -0700)
It was discovered that there are some corner cases where a pjsip tsx
might have no last_tx so calling ast_sip_failover_request with
a NULL last_tx as its tdata would cause a crash.

ASTERISK-27618
Reported By:  Sandro Gauci

Change-Id: Ic2b63f6d4ae617c4c19dcdec2a7a6156b54fd15b

res/res_pjsip.c

index 7b59035c2898ae799066c6d79e49207c35639960..79e6cc20b9ed3748b7ca27d200a1c57b7827af8f 100644 (file)
@@ -4173,7 +4173,8 @@ int ast_sip_failover_request(pjsip_tx_data *tdata)
 {
        pjsip_via_hdr *via;
 
-       if (!tdata->dest_info.addr.count || (tdata->dest_info.cur_addr == tdata->dest_info.addr.count - 1)) {
+       if (!tdata || !tdata->dest_info.addr.count
+               || (tdata->dest_info.cur_addr == tdata->dest_info.addr.count - 1)) {
                /* No more addresses to try */
                return 0;
        }