Module: kamailio
Branch: master
Commit: 504699b6c2f34fbf7db02f57909eefdffc6b8180
URL: 
https://github.com/kamailio/kamailio/commit/504699b6c2f34fbf7db02f57909eefdffc6b8180

Author: Daniel-Constantin Mierla <mico...@gmail.com>
Committer: Daniel-Constantin Mierla <mico...@gmail.com>
Date: 2017-02-20T19:25:40+01:00

pua_usrloc: free memory in case of failire in pua send_publish()

- related to GH #1001

---

Modified: src/modules/pua_usrloc/ul_publish.c

---

Diff:  
https://github.com/kamailio/kamailio/commit/504699b6c2f34fbf7db02f57909eefdffc6b8180.diff
Patch: 
https://github.com/kamailio/kamailio/commit/504699b6c2f34fbf7db02f57909eefdffc6b8180.patch

---

diff --git a/src/modules/pua_usrloc/ul_publish.c 
b/src/modules/pua_usrloc/ul_publish.c
index af135a8..59417c2 100644
--- a/src/modules/pua_usrloc/ul_publish.c
+++ b/src/modules/pua_usrloc/ul_publish.c
@@ -321,7 +321,7 @@ void ul_publish(ucontact_t* c, int type, void* param)
        print_publ(publ);
        if((error=_pu_pua.send_publish(publ))< 0)
        {
-               LM_ERR("while sending publish for ul event %d\n", type);
+               LM_ERR("failed sending publish for ul event %d\n", type);
                if((type & UL_CONTACT_UPDATE) && error == ERR_PUBLISH_NO_BODY) {
                        /* This error can occur if Kamailio was 
restarted/stopped and for any reason couldn't store a pua
                         * entry in 'pua' DB table. It can also occur if 'pua' 
table is cleaned externally while Kamailio
@@ -334,19 +334,16 @@ void ul_publish(ucontact_t* c, int type, void* param)
                         * previous one expires), but this is a minor issue. */
                        LM_ERR("UPDATE action generated a PUBLISH without body 
-> invoking INSERT action\n");
                        ul_publish(c, UL_CONTACT_INSERT, param);
-                       return;
+                       goto error;
                }
        }
 
-       pua_ul_publish= 0;
-
 error:
-
+       pua_ul_publish = 0;
        if(publ)
                pkg_free(publ);
 
-       if(body)
-       {
+       if(body) {
                if(body->s)
                        xmlFree(body->s);
                pkg_free(body);
@@ -354,7 +351,6 @@ void ul_publish(ucontact_t* c, int type, void* param)
 
        if(uri.s)
                pkg_free(uri.s);
-       pua_ul_publish= 0;
 
        return;
 }


_______________________________________________
sr-dev mailing list
sr-dev@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev

Reply via email to