Coverity issue resolved resource_leak 65/281865/1 accepted/tizen_7.0_unified accepted/tizen_7.0_unified_hotfix tizen_7.0_hotfix accepted/tizen/7.0/unified/20221110.062816 accepted/tizen/7.0/unified/hotfix/20221116.105335 accepted/tizen/unified/20220923.125152 tizen_7.0_m2_release
authorKrishna Kant Jaju <krishna.jaju@samsung.com>
Thu, 22 Sep 2022 15:08:26 +0000 (20:38 +0530)
committerKrishna Kant Jaju <krishna.jaju@samsung.com>
Thu, 22 Sep 2022 15:09:00 +0000 (20:39 +0530)
Change-Id: Ia552b19561f965b5ee669e23b7b905a7a4f053a7
Signed-off-by: Krishna Kant Jaju <krishna.jaju@samsung.com>
plugin/sms_plugin/3gpp/Sms3gppWapPushHandler.cpp

index 436ac43..e69dcb6 100755 (executable)
@@ -1415,6 +1415,14 @@ void Sms3gppWapPushHandler::handleMMSNotification(const char *pPushBody, int Pus
 }
 
 
+void XmlFree(xmlChar* tmpXml)
+{
+       if (tmpXml != NULL) {
+               xmlFree(tmpXml);
+               tmpXml = NULL;
+       }
+}
+
 void Sms3gppWapPushHandler::handleSIMessage(char* pPushBody, int PushBodyLen, bool isText, int simIndex)
 {
        MSG_BEGIN();
@@ -1482,11 +1490,15 @@ void Sms3gppWapPushHandler::handleSIMessage(char* pPushBody, int PushBodyLen, bo
        if (tmpXmlChar != NULL)
                strncpy(pushMsg.href, (char*)tmpXmlChar, MAX_WAPPUSH_HREF_LEN-1);
 
+       XmlFree(tmpXmlChar);
+
        tmpXmlChar = xmlGetProp(indNode, (xmlChar*)SMS_PUSH_XML_SI_ID_TAG);
 
        if (tmpXmlChar != NULL)
                strncpy(pushMsg.id, (char*)tmpXmlChar, MAX_WAPPUSH_ID_LEN-1);
 
+       XmlFree(tmpXmlChar);
+
        tmpXmlChar = xmlGetProp(indNode, (xmlChar*)SMS_PUSH_XML_CREATED_TAG);
 
        if (tmpXmlChar != NULL)
@@ -1495,15 +1507,21 @@ void Sms3gppWapPushHandler::handleSIMessage(char* pPushBody, int PushBodyLen, bo
        if (pushMsg.created == 0)
                pushMsg.created = pushMsg.received;
 
+       XmlFree(tmpXmlChar);
+
        tmpXmlChar = xmlGetProp(indNode, (xmlChar*)SMS_PUSH_XML_EXPIRES_TAG);
 
        if (tmpXmlChar != NULL)
                pushMsg.expires = convertXmlCharToSec((char*)tmpXmlChar);
 
+       XmlFree(tmpXmlChar);
+
        tmpXmlChar = xmlGetProp(indNode, (xmlChar*)SMS_PUSH_XML_ACTION_TAG);
 
        pushMsg.action = convertSIActionStrToEnum((char*)tmpXmlChar);
 
+       XmlFree(tmpXmlChar);
+
        tmpXmlChar = xmlNodeListGetString(xmlDoc, indNode->xmlChildrenNode, 1);
 
        if (tmpXmlChar == NULL) {
@@ -1631,6 +1649,8 @@ void Sms3gppWapPushHandler::handleSLMessage(char* pPushBody, int PushBodyLen, bo
 
        strncpy(pushMsg.href, (char*)tmpXmlChar, MAX_WAPPUSH_HREF_LEN-1);
 
+       XmlFree(tmpXmlChar);
+
        tmpXmlChar = xmlGetProp(indNode, (xmlChar*)SMS_PUSH_XML_ACTION_TAG);
        pushMsg.action = convertSLActionStrToEnum((char*)tmpXmlChar);