Module: kamailio
Branch: master
Commit: 504699b6c2f34fbf7db02f57909eefdffc6b8180
URL:
https://github.com/kamailio/kamailio/commit/504699b6c2f34fbf7db02f57909eefd…
Author: Daniel-Constantin Mierla <miconda(a)gmail.com>
Committer: Daniel-Constantin Mierla <miconda(a)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/504699b6c2f34fbf7db02f57909eefd…
Patch:
https://github.com/kamailio/kamailio/commit/504699b6c2f34fbf7db02f57909eefd…
---
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;
}