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;
}
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);
}
_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)