From 2d40e14d2b0b150acd34ac2d1df25936d8faaca9 Mon Sep 17 00:00:00 2001 From: Daniel-Constantin Mierla Date: Thu, 14 May 2015 13:15:06 +0200 Subject: [PATCH] presence_xml: better error handling to free all allocated vars --- modules/presence_xml/pres_check.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/presence_xml/pres_check.c b/modules/presence_xml/pres_check.c index 4504048ea14..8f45c0f5c7a 100644 --- a/modules/presence_xml/pres_check.c +++ b/modules/presence_xml/pres_check.c @@ -140,7 +140,7 @@ int presxml_check_activities(struct sip_msg *msg, str presentity_uri, str activi if (presentity == NULL || presentity->len <= 0 || presentity->s == NULL) { LM_DBG("cannot get presentity for %.*s\n", presentity_uri.len, presentity_uri.s); - return -1; + goto error; } if ((xmlDoc = xmlParseMemory(presentity->s, presentity->len)) == NULL) @@ -192,6 +192,7 @@ int presxml_check_activities(struct sip_msg *msg, str presentity_uri, str activi pkg_free(nodeName); if (xmlDoc != NULL) xmlFreeDoc(xmlDoc); - pres_free_presentity(presentity, ev); + if(presentity != NULL) + pres_free_presentity(presentity, ev); return retval; }