summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Kralevich <nnk@google.com>2014-04-09 19:41:26 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-04-09 19:41:26 +0000
commit82fb58095524c833b0470c4b236aa8a70acf2a0f (patch)
treeb73ca6a7f738ce0c7942e3d4751997ae94a098d9
parent27f8840f228abfe5e2458a261ce5403871495a54 (diff)
parenta240733137d1a0c006ca68415a0f8ed28cc4b11a (diff)
downloadnative-82fb58095524c833b0470c4b236aa8a70acf2a0f.tar.gz
Merge "restorecon the profile directory."
-rw-r--r--cmds/installd/utils.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/cmds/installd/utils.c b/cmds/installd/utils.c
index 8f4da65313..671d031255 100644
--- a/cmds/installd/utils.c
+++ b/cmds/installd/utils.c
@@ -1022,7 +1022,13 @@ int create_profile_file(const char *pkgname, gid_t gid) {
// Make the profile directory write-only for group and other. Owner can rwx it.
if (chmod(profile_dir, 0711) < 0) {
ALOGE("cannot chown profile dir '%s': %s\n", profile_dir, strerror(errno));
- unlink(profile_dir);
+ rmdir(profile_dir);
+ return -1;
+ }
+
+ if (selinux_android_restorecon(profile_dir, 0) < 0) {
+ ALOGE("cannot restorecon profile dir '%s': %s\n", profile_dir, strerror(errno));
+ rmdir(profile_dir);
return -1;
}
}