summaryrefslogtreecommitdiffstats
path: root/updater
diff options
context:
space:
mode:
authorNick Kralevich <nnk@google.com>2014-10-24 05:36:42 +0200
committerNick Kralevich <nnk@google.com>2014-10-24 05:46:33 +0200
commit688024169df70336cc128ea8cc929174c53a501e (patch)
treea0e4555e3d4d10e022cbeb6c1b86ff740ff2574a /updater
parentAllow passing of mount args to mountFn (diff)
downloadandroid_bootable_recovery-688024169df70336cc128ea8cc929174c53a501e.tar
android_bootable_recovery-688024169df70336cc128ea8cc929174c53a501e.tar.gz
android_bootable_recovery-688024169df70336cc128ea8cc929174c53a501e.tar.bz2
android_bootable_recovery-688024169df70336cc128ea8cc929174c53a501e.tar.lz
android_bootable_recovery-688024169df70336cc128ea8cc929174c53a501e.tar.xz
android_bootable_recovery-688024169df70336cc128ea8cc929174c53a501e.tar.zst
android_bootable_recovery-688024169df70336cc128ea8cc929174c53a501e.zip
Diffstat (limited to 'updater')
-rw-r--r--updater/install.c19
1 files changed, 9 insertions, 10 deletions
diff --git a/updater/install.c b/updater/install.c
index 282a6188b..db2bd3295 100644
--- a/updater/install.c
+++ b/updater/install.c
@@ -770,9 +770,17 @@ static int ApplyParsedPerms(
{
int bad = 0;
+ if (parsed.has_selabel) {
+ if (lsetfilecon(filename, parsed.selabel) != 0) {
+ uiPrintf(state, "ApplyParsedPerms: lsetfilecon of %s to %s failed: %s\n",
+ filename, parsed.selabel, strerror(errno));
+ bad++;
+ }
+ }
+
/* ignore symlinks */
if (S_ISLNK(statptr->st_mode)) {
- return 0;
+ return bad;
}
if (parsed.has_uid) {
@@ -815,15 +823,6 @@ static int ApplyParsedPerms(
}
}
- if (parsed.has_selabel) {
- // TODO: Don't silently ignore ENOTSUP
- if (lsetfilecon(filename, parsed.selabel) && (errno != ENOTSUP)) {
- uiPrintf(state, "ApplyParsedPerms: lsetfilecon of %s to %s failed: %s\n",
- filename, parsed.selabel, strerror(errno));
- bad++;
- }
- }
-
if (parsed.has_capabilities && S_ISREG(statptr->st_mode)) {
if (parsed.capabilities == 0) {
if ((removexattr(filename, XATTR_NAME_CAPS) == -1) && (errno != ENODATA)) {