Module: sems
Branch: master
Commit: fb3488baf8d83c702c2a1b0bc502775f9a2c3c2a
URL:    
http://git.sip-router.org/cgi-bin/gitweb.cgi/sems/?a=commit;h=fb3488baf8d83c702c2a1b0bc502775f9a2c3c2a

Author: Raphael Coeffic <[email protected]>
Committer: Raphael Coeffic <[email protected]>
Date:   Wed Aug 18 14:24:35 2010 +0200

remove a potential memory leak

- in case update_uac_request would fail, the temporary message would stay in 
memory for ever.

---

 core/sip/trans_layer.cpp |    8 ++++++--
 1 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/core/sip/trans_layer.cpp b/core/sip/trans_layer.cpp
index 36303e7..4a70569 100644
--- a/core/sip/trans_layer.cpp
+++ b/core/sip/trans_layer.cpp
@@ -836,8 +836,10 @@ int trans_layer::send_request(sip_msg* msg, trans_ticket* 
tt)
     }
     else {
 
-       if(update_uac_request(tt->_bucket,tt->_t,p_msg) < 0){
+       send_err = update_uac_request(tt->_bucket,tt->_t,p_msg);
+       if(send_err < 0){
            ERROR("Could not update UAC state for request.\n");
+           delete p_msg;
        }
     }
 
@@ -967,8 +969,10 @@ int trans_layer::cancel(trans_ticket* tt)
     else {
 
        sip_trans* t=NULL;
-       if(update_uac_request(bucket,t,p_msg)<0){
+       send_err = update_uac_request(bucket,t,p_msg);
+       if(send_err<0){
            ERROR("Could not update state for UAC transaction\n");
+           delete p_msg;
        }
     }
 

_______________________________________________
Semsdev mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/semsdev

Reply via email to