]> git.ipfire.org Git - thirdparty/asterisk.git/commitdiff
res_pjsip: Fix some off nominal tdata leaks. 88/4888/1
authorRichard Mudgett <rmudgett@digium.com>
Wed, 1 Feb 2017 23:56:13 +0000 (17:56 -0600)
committerRichard Mudgett <rmudgett@digium.com>
Mon, 6 Feb 2017 17:02:09 +0000 (11:02 -0600)
Change-Id: I243a4be5e7fbfe604923764969c4ee04eee89b9d

res/res_pjsip.c
res/res_pjsip_mwi.c

index 330120f996b6865bdccf60b8718dca7f2b0a5759..852921a4db7a61106d6e046b2ee4d9fb224b7e2d 100644 (file)
@@ -3545,6 +3545,7 @@ static pj_status_t endpt_send_request(struct ast_sip_endpoint *endpoint,
 
        if (!cb && token) {
                /* Silly.  Without a callback we cannot do anything with token. */
+               pjsip_tx_data_dec_ref(tdata);
                return PJ_EINVAL;
        }
 
index 925556ed48d17ec1578e9f96506adc956a167b48..e625df77a723aaf0c208269c9cfa68eaf5bbdda7 100644 (file)
@@ -502,6 +502,7 @@ static int send_unsolicited_mwi_notify_to_contact(void *obj, void *arg, int flag
        body.subtype = MWI_SUBTYPE;
        body_text = ast_str_create(64);
        if (!body_text) {
+               pjsip_tx_data_dec_ref(tdata);
                return 0;
        }
 
@@ -517,6 +518,7 @@ static int send_unsolicited_mwi_notify_to_contact(void *obj, void *arg, int flag
        if (ast_sip_pubsub_generate_body_content(body.type, body.subtype, &body_data, &body_text)) {
                ast_log(LOG_WARNING, "Unable to generate SIP MWI NOTIFY body.\n");
                ast_free(body_text);
+               pjsip_tx_data_dec_ref(tdata);
                return 0;
        }