summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2006-06-27 12:15:56 +0000
committerBenny Prijono <bennylp@teluu.com>2006-06-27 12:15:56 +0000
commit0b299faa48f393cd8e30751c1337921108e87102 (patch)
tree2099c90491d71a821323dfeecc5a5cebdba64f33
parentb54431fa617c11aed4801ebeaa96e48bc81e76fc (diff)
Fixed bug in transaction: ACK message is not deleted
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@556 74dad513-b988-da41-8d7b-12977e46ad98
-rw-r--r--pjsip/src/pjsip/sip_transaction.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/pjsip/src/pjsip/sip_transaction.c b/pjsip/src/pjsip/sip_transaction.c
index 3bdb26da..017f936d 100644
--- a/pjsip/src/pjsip/sip_transaction.c
+++ b/pjsip/src/pjsip/sip_transaction.c
@@ -2372,7 +2372,13 @@ static pj_status_t tsx_on_state_proceeding_uac(pjsip_transaction *tsx,
if (ack_tdata != tsx->last_tx) {
pjsip_tx_data_dec_ref(tsx->last_tx);
tsx->last_tx = ack_tdata;
+
+ /* This is a bug.
+ tsx_send_msg() does NOT decrement tdata's reference counter,
+ so if we add the reference counter here, tdata will have
+ reference counter 2, causing it to leak.
pjsip_tx_data_add_ref(ack_tdata);
+ */
}
if (status != PJ_SUCCESS) {