Fixed Svace Issue 36/173536/1 accepted/tizen/unified/20180323.062136 submit/tizen/20180322.095010
authorjunkyu han <junkyu.han@samsung.com>
Tue, 26 Sep 2017 10:15:23 +0000 (19:15 +0900)
committerVikas Kumar Agrawal <vikas.ag@samsung.com>
Thu, 22 Mar 2018 07:16:34 +0000 (12:46 +0530)
Change-Id: Id5e7b15af157b5ecd7ec8ac0d59a190d41acb6d2

src/pkgmgr.c

index e54673c..4e9252a 100644 (file)
@@ -147,21 +147,28 @@ HAPI menu_screen_error_e pkgmgr_uninstall(Evas_Object *item)
 
        if (package_manager_request_create(&request) != PACKAGE_MANAGER_ERROR_NONE) {
                _E("Failed to create request for %s", pkgid);
-               return MENU_SCREEN_ERROR_FAIL;
+               goto ERROR;
        }
 
        if (package_manager_request_set_mode(request, PACKAGE_MANAGER_REQUEST_MODE_DEFAULT)) {
                _E("Failed to set request mode for %s", pkgid);
-               return MENU_SCREEN_ERROR_FAIL;
+               goto ERROR;
        }
 
        if (package_manager_request_uninstall(request, pkgid, &id)) {
                _E("Failed to request uninstall for %s", pkgid);
+               goto ERROR;
        }
 
        package_manager_request_destroy(request);
 
        return MENU_SCREEN_ERROR_OK;
+
+ERROR:
+       if (request)
+               package_manager_request_destroy(request);
+
+       return MENU_SCREEN_ERROR_FAIL;
 }
 
 
@@ -313,6 +320,9 @@ static bool _pkgmgr_get_apps_info(app_info_h app_handle, app_list_item **item)
                if (app_info->icon) free(app_info->icon);
 
                app_info->icon = malloc(MAX_FILE_PATH_LEN);
+               if (!app_info->icon)
+                       goto ERROR;
+
                const char *path = util_get_res_file_path(IMAGE_DIR"default_app_icon.png");
                snprintf(app_info->icon, MAX_FILE_PATH_LEN, "%s", path);
        }
@@ -352,9 +362,13 @@ static bool _pkgmgr_get_apps_info(app_info_h app_handle, app_list_item **item)
 
        _D("[ALL Apps] package=%s", new_item->package);
 
+       package_info_destroy(p_handle);
+
        return true;
 
 ERROR:
+       if (p_handle)
+               package_info_destroy(p_handle);
        if (app_info && app_info->name)
                free(app_info->name);
        if (app_info && app_info->icon)