Clear shared/data, shared/trusted directory 35/113535/1
authorSangyoon Jang <s89.jang@samsung.com>
Wed, 8 Feb 2017 05:41:58 +0000 (14:41 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Wed, 8 Feb 2017 05:44:05 +0000 (14:44 +0900)
Change-Id: I81f053bce77b22514b78d49ae526c7958cfbad4b
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
src/pkg_cleardata.c

index d8fb49e..88696b6 100644 (file)
@@ -232,24 +232,48 @@ static int __clear_data_dir(const char *pkgid)
        rootpath = tzplatform_getenv(TZ_USER_APP);
        tzplatform_reset_user();
 
-       snprintf(dirname, sizeof(dirname), "%s/%s/data", rootpath, pkgid);
        __send_signal(pkgid, pkg_type,
                        PKGMGR_INSTALLER_START_KEY_STR,
                        PKGMGR_INSTALLER_CLEAR_EVENT_STR);
 
+       snprintf(dirname, sizeof(dirname), "%s/%s/data", rootpath, pkgid);
+       ret = __clear_dir(dirname);
+       if (ret != 0) {
+               LOGE("Failed to clear data for pkg %s", pkgid);
+               __send_signal(pkgid, pkg_type,
+                               PKGMGR_INSTALLER_END_KEY_STR,
+                               PKGMGR_INSTALLER_FAIL_EVENT_STR);
+               ret = -1;
+               goto catch;
+       }
+
+       snprintf(dirname, sizeof(dirname), "%s/%s/shared/data", rootpath,
+                       pkgid);
        ret = __clear_dir(dirname);
        if (ret != 0) {
                LOGE("Failed to clear data for pkg %s", pkgid);
                __send_signal(pkgid, pkg_type,
                                PKGMGR_INSTALLER_END_KEY_STR,
                                PKGMGR_INSTALLER_FAIL_EVENT_STR);
+               ret = -1;
+               goto catch;
+       }
 
-       } else {
+       snprintf(dirname, sizeof(dirname), "%s/%s/shared/trusted", rootpath,
+                       pkgid);
+       ret = __clear_dir(dirname);
+       if (ret != 0) {
+               LOGE("Failed to clear data for pkg %s", pkgid);
                __send_signal(pkgid, pkg_type,
                                PKGMGR_INSTALLER_END_KEY_STR,
-                               PKGMGR_INSTALLER_OK_EVENT_STR);
+                               PKGMGR_INSTALLER_FAIL_EVENT_STR);
+               ret = -1;
+               goto catch;
        }
 
+       __send_signal(pkgid, pkg_type, PKGMGR_INSTALLER_END_KEY_STR,
+                       PKGMGR_INSTALLER_OK_EVENT_STR);
+
 catch:
        if (pkg_handle)
                pkgmgrinfo_pkginfo_destroy_pkginfo(pkg_handle);