From eb1e91d55a74287975639b6437cd85edf23b4126 Mon Sep 17 00:00:00 2001 From: Junghoon Park Date: Tue, 26 Sep 2017 17:10:40 +0900 Subject: [PATCH] Fix resource leak Change-Id: I35851682a958f42dfbf1492b4a424381f6b4ed87 Signed-off-by: Junghoon Park --- src/pkgmgrinfo_appinfo.c | 6 ++++++ src/pkgmgrinfo_pkginfo.c | 6 ++++++ 2 files changed, 12 insertions(+) diff --git a/src/pkgmgrinfo_appinfo.c b/src/pkgmgrinfo_appinfo.c index a826ec3..da7d2ac 100644 --- a/src/pkgmgrinfo_appinfo.c +++ b/src/pkgmgrinfo_appinfo.c @@ -733,6 +733,12 @@ static int _pkgmgrinfo_get_appinfo(const char *appid, uid_t uid, ret = _appinfo_get_applications(GLOBAL_USER, uid, locale, filter, PMINFO_APPINFO_GET_ALL, list); + if (ret != PMINFO_R_OK) { + g_hash_table_destroy(list); + free(locale); + return ret; + } + if (!g_hash_table_size(list)) { _LOGD("appinfo for [%s] is not existed for user [%d]", appid, uid); diff --git a/src/pkgmgrinfo_pkginfo.c b/src/pkgmgrinfo_pkginfo.c index 98c5d89..43f2d87 100644 --- a/src/pkgmgrinfo_pkginfo.c +++ b/src/pkgmgrinfo_pkginfo.c @@ -711,6 +711,12 @@ static int _pkgmgrinfo_get_pkginfo(const char *pkgid, uid_t uid, ret = _pkginfo_get_packages(GLOBAL_USER, locale, filter, PMINFO_PKGINFO_GET_ALL, list); + if (ret != PMINFO_R_OK) { + g_hash_table_destroy(list); + free(locale); + return ret; + } + if (!g_hash_table_size(list)) { _LOGD("pkginfo for [%s] is not existed for user [%d]", pkgid, uid); -- 2.7.4