Resolve static analysis issue 32/222632/2
authorJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 17 Jan 2020 01:27:58 +0000 (10:27 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Fri, 17 Jan 2020 04:12:27 +0000 (13:12 +0900)
Change-Id: I0c532cc7ca55da09fcfc1bb661aa2b81387d2496
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/tpk/step/pkgmgr/step_convert_xml.cc
src/tpk/step/pkgmgr/step_manifest_adjustment.cc

index 20a399a502e4801924441d2babc615c3fc272b36..8f0be900064a2478566324346982461396b50e62 100644 (file)
@@ -81,8 +81,12 @@ bool StepConvertXml::ConvertXml(xmlDocPtr doc) {
 
     expr = std::string(kXmlXPathAppExpr) + "[@appid='" + app->appid + "']";
     xpath_obj = xmlXPathEvalExpression((const xmlChar*)expr.c_str(), xpath_ctx);
-    if (!xpath_obj || !xpath_obj->nodesetval || !xpath_obj->nodesetval->nodeNr)
+    if (!xpath_obj || !xpath_obj->nodesetval ||
+        !xpath_obj->nodesetval->nodeNr) {
+      if (xpath_obj)
+        xmlXPathFreeObject(xpath_obj);
       continue;
+    }
 
     node = xpath_obj->nodesetval->nodeTab[0];
     xmlSetProp(node, kExecAttributeKey, (const xmlChar*)app->exec);
index 327e503cdff12eac11a974c1e1cd5d7918ec2c01..091e745def3ce52bb91281fe125d6310e6346213 100644 (file)
@@ -159,6 +159,7 @@ common_installer::Step::Status StepManifestAdjustment::process() {
           xmlFreeDoc(doc);
           return Step::Status::ERROR;
         }
+        xmlXPathFreeObject(xpath_obj);
       }
       xmlXPathFreeContext(xpath_ctx);
     }