From e3487b9360bc48c9bf777bef18f19f8a8fcc7a62 Mon Sep 17 00:00:00 2001 From: Joshua Colp <jcolp@digium.com> Date: Tue, 13 Sep 2016 07:08:18 -0400 Subject: [PATCH] res_pjsip: Don't assume a request will have any addresses. When performing DNS resolution the failover code present in res_pjsip currently assumes that a request will always have at least one viable address. In practice this is not true. A domain may be used that has no records. The code now checks that at least one address exists on the request which prevents looping. ASTERISK-26364 #close Change-Id: Ic0761b0264864acd85915c94d878a81624940f4c --- res/res_pjsip.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/res/res_pjsip.c b/res/res_pjsip.c index 7bb10c07f0..8a9322258c 100644 --- a/res/res_pjsip.c +++ b/res/res_pjsip.c @@ -3584,7 +3584,7 @@ int ast_sip_failover_request(pjsip_tx_data *tdata) { pjsip_via_hdr *via; - if (tdata->dest_info.cur_addr == tdata->dest_info.addr.count - 1) { + if (!tdata->dest_info.addr.count || (tdata->dest_info.cur_addr == tdata->dest_info.addr.count - 1)) { /* No more addresses to try */ return 0; } -- GitLab