From: Pawel Andruszkiewicz
Date: Mon, 24 Aug 2015 09:25:03 +0000 (+0200)
Subject: [Package] Fixed memory leak.
X-Git-Tag: submit/tizen/20151026.073646^2^2~175
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=56037f1e7ba65335e1c8f0a04c60ce16bb9a4b18;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git
[Package] Fixed memory leak.
Prevent CID: 435873
[Verification] TCT pass rate (r35): 100% (54/54/0/0/0)
Change-Id: I9259991af7b1dd45c6b6ae57782ff6ce2dc5fa0b
Signed-off-by: Pawel Andruszkiewicz
---
diff --git a/src/package/package_info_provider.cc b/src/package/package_info_provider.cc
index 557293e1..9f41455f 100644
--- a/src/package/package_info_provider.cc
+++ b/src/package/package_info_provider.cc
@@ -27,6 +27,7 @@
#include
#include "common/logger.h"
+#include "common/scope_exit.h"
#include "common/tools.h"
namespace extension {
@@ -218,6 +219,12 @@ bool PackageInfoProvider:: ConvertToPackageToObject(
return false;
}
+ SCOPE_EXIT {
+ if (PACKAGE_MANAGER_ERROR_NONE != package_info_destroy(package_info)) {
+ LoggerE("Failed to destroy package info");
+ }
+ };
+
picojson::array array_data;
ret = package_info_foreach_app_from_package(package_info,
PACKAGE_INFO_ALLAPP, PackageAppInfoCb, &array_data);
@@ -227,11 +234,6 @@ bool PackageInfoProvider:: ConvertToPackageToObject(
}
out["appIds"] = picojson::value(array_data);
- ret = package_info_destroy(package_info);
- if ( ret != PACKAGE_MANAGER_ERROR_NONE ) {
- LoggerE("Failed to destroy package info");
- }
-
return true;
}