Fix memory leak 59/251259/1
authorJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 12 Jan 2021 04:55:48 +0000 (13:55 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Tue, 12 Jan 2021 04:55:48 +0000 (13:55 +0900)
Related changes:
[app-installers] : https://review.tizen.org/gerrit/251120

Change-Id: Ibdbd142c1f4ae362b07633983af2f26d6e93d8ab
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/tpk/tpk_backend.cc
src/tpk/tpk_installer_factory.cc
test/smoke_tests/smoke_test_helper.cc

index 2da10bdd57907b898b6bc513450b39f810a68156..bfef10cee1bafd4f37473773d82bbef9329363f2 100644 (file)
@@ -28,11 +28,12 @@ int main(const int argc, char* argv[]) {
   TTRACE(TTRACE_TAG_APP, "TPK_BACKEND");
 
   ci::PkgmgrInstaller pkgmgr_installer;
-  tpk::TpkAppQueryInterface interface;
+  std::shared_ptr<tpk::TpkAppQueryInterface> interface(
+      new tpk::TpkAppQueryInterface());
   try {
     ci::PkgMgrPtr pkgmgr = ci::PkgMgrInterface::Create(argc, argv,
                                                        &pkgmgr_installer,
-                                                       &interface);
+                                                       interface);
     if (!pkgmgr) {
       LOG(ERROR) << "Failed to create pkgmgr interface";
       return -1;
index c3cd57b1d45ce04053e20bf12ed0ec7bf55930a0..31a95f34652c5af3ba47da1672fb0b1f369fe1b3 100644 (file)
@@ -24,7 +24,7 @@ namespace tpk {
 std::unique_ptr<ci::AppInstaller> TpkInstallerFactory::CreateInstaller(
     ci::PkgMgrPtr pkgmgr, int idx) {
   std::unique_ptr<ci::AppInstaller> installer;
-  TpkAppQueryInterface* tpk_aqi = new TpkAppQueryInterface();
+  std::shared_ptr<TpkAppQueryInterface> tpk_aqi(new TpkAppQueryInterface());
 
   pkgmgr->AddAppQueryInterface(idx, tpk_aqi);
   installer.reset(new TpkInstaller(pkgmgr));
index 626281d90707501f77f541aab3daab7363418a11..a97f5fed857069589ace320ef039586f27e46423 100644 (file)
@@ -69,10 +69,11 @@ int main(const int argc, char* argv[]) {
     }
 
     ci::PkgmgrInstaller pkgmgr_installer;
-    tpk::TpkAppQueryInterface interface;
+    std::shared_ptr<tpk::TpkAppQueryInterface> interface(
+        new tpk::TpkAppQueryInterface());
     ci::PkgMgrPtr pkgmgr = ci::PkgMgrInterface::Create(backend_argc, argv,
                                                        &pkgmgr_installer,
-                                                       &interface);
+                                                       interface);
     if (!pkgmgr) {
       LOG(ERROR) << "Failed to create pkgmgr interface";
       return -1;