]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
pjsip_distributor.c: Fix off-nominal tdata ref leak. 24/4924/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:29:05 +0000 (15:29 -0600)
Change-Id: I571f371d0956a8039b197b4dbd8af6b18843598d

res/res_pjsip/pjsip_distributor.c

index 79006110a7c15efb1ed7cb391417f605aab3e83c..82ca184d39aaeae9d6441665d48e57afc1388fed 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;