summaryrefslogtreecommitdiff
path: root/pjsip/src/pjsip/sip_util.c
diff options
context:
space:
mode:
authorBenny Prijono <bennylp@teluu.com>2008-12-17 14:28:18 +0000
committerBenny Prijono <bennylp@teluu.com>2008-12-17 14:28:18 +0000
commit30d11975f4123b0dfd06b1ba6d36b8e0bbe09a51 (patch)
tree401cad084f7d2fab6935488a5fcf575f5384bbac /pjsip/src/pjsip/sip_util.c
parentb6529acff90535f3f54b57d093bae7bc90139bff (diff)
Ticket 684: protect the memory allocation for TX packet with try/catch, and fixed various transmit data buffer leaks when transmission fails immediately
git-svn-id: http://svn.pjsip.org/repos/pjproject/trunk@2380 74dad513-b988-da41-8d7b-12977e46ad98
Diffstat (limited to 'pjsip/src/pjsip/sip_util.c')
-rw-r--r--pjsip/src/pjsip/sip_util.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/pjsip/src/pjsip/sip_util.c b/pjsip/src/pjsip/sip_util.c
index d46d85be..a966ea3c 100644
--- a/pjsip/src/pjsip/sip_util.c
+++ b/pjsip/src/pjsip/sip_util.c
@@ -1673,8 +1673,12 @@ PJ_DEF(pj_status_t) pjsip_endpt_respond_stateless( pjsip_endpoint *endpt,
/* Send! */
status = pjsip_endpt_send_response( endpt, &res_addr, tdata, NULL, NULL );
+ if (status != PJ_SUCCESS) {
+ pjsip_tx_data_dec_ref(tdata);
+ return status;
+ }
- return status;
+ return PJ_SUCCESS;
}