]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
pjsip_distributor.c: Fix off-nominal tdata ref leak. 25/4925/1
authorRichard Mudgett <rmudgett@digium.com>
Sat, 11 Feb 2017 17:26:58 +0000 (11:26 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Sun, 12 Feb 2017 21:31:35 +0000 (15:31 -0600)
Change-Id: I571f371d0956a8039b197b4dbd8af6b18843598d

res/res_pjsip/pjsip_distributor.c

index 7412445860ab2dd7f8e9c89eda85196f2312ea19..eabfa4ba9c03e6d6e33a48cac38bf4930ac7b5e2 100644 (file)
@@ -729,8 +729,7 @@ static pj_bool_t authenticate(pjsip_rx_data *rdata)
                                ao2_ref(unid, -1);
                        }
                        ast_sip_report_auth_success(endpoint, rdata);
-                       pjsip_tx_data_dec_ref(tdata);
-                       return PJ_FALSE;
+                       break;
                case AST_SIP_AUTHENTICATION_FAILED:
                        log_failed_request(rdata, "Failed to authenticate", 0, 0);
                        ast_sip_report_auth_failed_challenge_response(endpoint, rdata);
@@ -743,6 +742,7 @@ static pj_bool_t authenticate(pjsip_rx_data *rdata)
                        pjsip_endpt_respond_stateless(ast_sip_get_pjsip_endpoint(), rdata, 500, NULL, NULL, NULL);
                        return PJ_TRUE;
                }
+               pjsip_tx_data_dec_ref(tdata);
        }
 
        return PJ_FALSE;