From a8e56c95c5716bc42b7d559cbbd319a08db113ce Mon Sep 17 00:00:00 2001 From: Jan Olszak Date: Wed, 25 Sep 2013 18:38:46 +0200 Subject: [PATCH] Deleting paths on revoking permissions. [Issue#] SSDWSSP-183 [Bug/Feature] Some paths left in the database, but not present. [Cause] N/A [Solution] Deleteing app's paths on permission revoke [Verification] Build, install, run tests. Change-Id: I8afe30e8e8fb150c49b0d156e7b276359570b8c3 --- db/rules-db.sql | 4 ++++ src/rules-db.c | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/db/rules-db.sql b/db/rules-db.sql index 3769b2f..f7b1888 100644 --- a/db/rules-db.sql +++ b/db/rules-db.sql @@ -567,6 +567,10 @@ BEGIN FROM permission_view WHERE permission_view.name = "ALL_APPS" AND permission_view.type_name = "ALL_APPS"); + -- Delete paths + DELETE FROM path_view + WHERE path_view.owner_app_label_name=OLD.app_name; + END; -- APP PERMISSION VOLATILE VIEW ------------------------------------------------ diff --git a/src/rules-db.c b/src/rules-db.c index 2da074a..4c774e7 100644 --- a/src/rules-db.c +++ b/src/rules-db.c @@ -382,6 +382,10 @@ int rdb_revoke_app_permissions(const char *const s_app_label_name) if(ret != PC_OPERATION_SUCCESS) goto finish; ret = add_modified_label_internal(p_db, s_app_label_name); + if(ret != PC_OPERATION_SUCCESS) goto finish; + + ret = add_modified_apps_path_internal(p_db, s_label_name); + finish: if(p_db__) update_ret_code(ret); else rdb_end(p_db, ret); return ret; -- 2.7.4