diff options
author | Benny Prijono <bennylp@teluu.com> | 2008-12-17 14:28:18 +0000 |
---|---|---|
committer | Benny Prijono <bennylp@teluu.com> | 2008-12-17 14:28:18 +0000 |
commit | 30d11975f4123b0dfd06b1ba6d36b8e0bbe09a51 (patch) | |
tree | 401cad084f7d2fab6935488a5fcf575f5384bbac /pjsip/src/pjsip/sip_util.c | |
parent | b6529acff90535f3f54b57d093bae7bc90139bff (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.c | 6 |
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; } |