diff options
author | Joshua Colp <jcolp@digium.com> | 2013-08-06 12:39:27 +0000 |
---|---|---|
committer | Joshua Colp <jcolp@digium.com> | 2013-08-06 12:39:27 +0000 |
commit | 5b3441ae554997427cf905d84bb840e41c6ad143 (patch) | |
tree | 8353fa77bd52f56aa3a33f3647d4848daa667f80 /res | |
parent | 07d3705b42a157423ba11fca5e5b57ea1bf303c6 (diff) |
Fix crash in res_pjsip_outbound_registration when the remote server can not be resolved.
This crash was caused by decrementing the reference count of a newly created message when
it should not be. This change fixes that but also fixes all other cases where this was
incorrectly done.
(closes issue ASTERISK-22188)
Reported by: Kinsey Moore
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@396319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'res')
-rw-r--r-- | res/res_pjsip_exten_state.c | 1 | ||||
-rw-r--r-- | res/res_pjsip_messaging.c | 1 | ||||
-rw-r--r-- | res/res_pjsip_notify.c | 1 | ||||
-rw-r--r-- | res/res_pjsip_outbound_registration.c | 1 |
4 files changed, 0 insertions, 4 deletions
diff --git a/res/res_pjsip_exten_state.c b/res/res_pjsip_exten_state.c index c921d4437..483d78b4b 100644 --- a/res/res_pjsip_exten_state.c +++ b/res/res_pjsip_exten_state.c @@ -250,7 +250,6 @@ static void create_send_notify(struct exten_state_subscription *exten_state_sub, if (ast_sip_subscription_send_request(exten_state_sub->sip_sub, tdata) != PJ_SUCCESS) { ast_log(LOG_WARNING, "Unable to send NOTIFY request\n"); - pjsip_tx_data_dec_ref(tdata); } } diff --git a/res/res_pjsip_messaging.c b/res/res_pjsip_messaging.c index 8f5151292..a3972ce67 100644 --- a/res/res_pjsip_messaging.c +++ b/res/res_pjsip_messaging.c @@ -484,7 +484,6 @@ static int msg_send(void *data) update_from(tdata, mdata->from); vars_to_headers(mdata->msg, tdata); if (ast_sip_send_request(tdata, NULL, endpoint)) { - pjsip_tx_data_dec_ref(tdata); ast_log(LOG_ERROR, "SIP MESSAGE - Could not send request\n"); return -1; } diff --git a/res/res_pjsip_notify.c b/res/res_pjsip_notify.c index 2f0cfd31a..c90a91b15 100644 --- a/res/res_pjsip_notify.c +++ b/res/res_pjsip_notify.c @@ -440,7 +440,6 @@ static int notify_contact(void *obj, void *arg, int flags) data->build_notify(tdata, data->info); if (ast_sip_send_request(tdata, NULL, data->endpoint)) { - pjsip_tx_data_dec_ref(tdata); ast_log(LOG_ERROR, "SIP NOTIFY - Unable to send request for " "contact %s\n", contact->uri); return -1; diff --git a/res/res_pjsip_outbound_registration.c b/res/res_pjsip_outbound_registration.c index d9c4f2bb5..67e0ead33 100644 --- a/res/res_pjsip_outbound_registration.c +++ b/res/res_pjsip_outbound_registration.c @@ -221,7 +221,6 @@ static int handle_client_registration(void *data) ao2_ref(client_state, +1); if (pjsip_regc_send(client_state->client, tdata) != PJ_SUCCESS) { ao2_ref(client_state, -1); - pjsip_tx_data_dec_ref(tdata); } return 0; |