From 64c5213ee561df17c39b41e00804860b3684091d Mon Sep 17 00:00:00 2001 From: Krishna Kant Jaju Date: Thu, 22 Sep 2022 20:38:26 +0530 Subject: [PATCH] Coverity issue resolved resource_leak Change-Id: Ia552b19561f965b5ee669e23b7b905a7a4f053a7 Signed-off-by: Krishna Kant Jaju --- plugin/sms_plugin/3gpp/Sms3gppWapPushHandler.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/plugin/sms_plugin/3gpp/Sms3gppWapPushHandler.cpp b/plugin/sms_plugin/3gpp/Sms3gppWapPushHandler.cpp index 436ac43..e69dcb6 100755 --- a/plugin/sms_plugin/3gpp/Sms3gppWapPushHandler.cpp +++ b/plugin/sms_plugin/3gpp/Sms3gppWapPushHandler.cpp @@ -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); -- 2.7.4