Fix memory leak 49/100949/1 accepted/tizen/3.0/common/20161130.133606 accepted/tizen/3.0/ivi/20161130.091220 accepted/tizen/3.0/mobile/20161130.091127 accepted/tizen/3.0/tv/20161130.091148 accepted/tizen/3.0/wearable/20161130.091205 submit/tizen_3.0/20161130.023420
authorSangyoon Jang <s89.jang@samsung.com>
Wed, 30 Nov 2016 02:17:46 +0000 (11:17 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Wed, 30 Nov 2016 02:17:46 +0000 (11:17 +0900)
Change-Id: If0f6c432d561cfab357b3a2ced571a98cd04500c
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/package_info.c

index 5861c29..f75618d 100644 (file)
@@ -483,17 +483,19 @@ int package_info_create_with_pkginfo(pkgmgrinfo_pkginfo_h pkg_handle, package_in
        package_info_h pkg_info = NULL;
        char *pkg_name = NULL;
 
-       pkg_info = calloc(1, sizeof(struct package_info_s));
-       if (pkg_info == NULL)
-               return PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY;
-
        pkgmgrinfo_pkginfo_get_pkgid(pkg_handle, &pkg_name);
        if (pkg_name == NULL)
                return PACKAGE_MANAGER_ERROR_SYSTEM_ERROR;
 
+       pkg_info = calloc(1, sizeof(struct package_info_s));
+       if (pkg_info == NULL)
+               return PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY;
+
        pkg_info->package = strdup(pkg_name);
-       if (pkg_info->package == NULL)
+       if (pkg_info->package == NULL) {
+               free(pkg_info);
                return PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY;
+       }
 
        pkg_info->pkgmgr_pkginfo = pkg_handle;
        *package_info = pkg_info;