summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNick Kralevich <nnk@google.com>2014-05-13 20:35:38 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-05-13 20:35:38 +0000
commitfc1b9fa3178d1452629d75e2afa1a9d72f03fc1c (patch)
tree9ed16a6a8188c7341c811eeb218c1dd397cbf0b5
parentc1ffd351bc44483369271c11dd4c6391bba8c64c (diff)
parentb66ee6c32d87961d5b9f0be97b5fdccb928fd453 (diff)
downloadframeworks_native-fc1b9fa3178d1452629d75e2afa1a9d72f03fc1c.zip
frameworks_native-fc1b9fa3178d1452629d75e2afa1a9d72f03fc1c.tar.gz
frameworks_native-fc1b9fa3178d1452629d75e2afa1a9d72f03fc1c.tar.bz2
am b66ee6c3: Merge "Ensure that app lib symlinks are correctly labeled when created."
* commit 'b66ee6c32d87961d5b9f0be97b5fdccb928fd453': Ensure that app lib symlinks are correctly labeled when created.
-rw-r--r--cmds/installd/commands.c28
1 files changed, 14 insertions, 14 deletions
diff --git a/cmds/installd/commands.c b/cmds/installd/commands.c
index cfb80e3..70510a5 100644
--- a/cmds/installd/commands.c
+++ b/cmds/installd/commands.c
@@ -85,13 +85,6 @@ int install(const char *pkgname, uid_t uid, gid_t gid, const char *seinfo)
}
}
- if (symlink(applibdir, libsymlink) < 0) {
- ALOGE("couldn't symlink directory '%s' -> '%s': %s\n", libsymlink, applibdir,
- strerror(errno));
- unlink(pkgdir);
- return -1;
- }
-
if (selinux_android_setfilecon(pkgdir, pkgname, seinfo, uid) < 0) {
ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
unlink(libsymlink);
@@ -99,6 +92,13 @@ int install(const char *pkgname, uid_t uid, gid_t gid, const char *seinfo)
return -errno;
}
+ if (symlink(applibdir, libsymlink) < 0) {
+ ALOGE("couldn't symlink directory '%s' -> '%s': %s\n", libsymlink, applibdir,
+ strerror(errno));
+ unlink(pkgdir);
+ return -1;
+ }
+
if (chown(pkgdir, uid, gid) < 0) {
ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
unlink(libsymlink);
@@ -241,13 +241,6 @@ int make_user_data(const char *pkgname, uid_t uid, userid_t userid, const char*
}
}
- if (symlink(applibdir, libsymlink) < 0) {
- ALOGE("couldn't symlink directory for non-primary '%s' -> '%s': %s\n", libsymlink,
- applibdir, strerror(errno));
- unlink(pkgdir);
- return -1;
- }
-
if (selinux_android_setfilecon(pkgdir, pkgname, seinfo, uid) < 0) {
ALOGE("cannot setfilecon dir '%s': %s\n", pkgdir, strerror(errno));
unlink(libsymlink);
@@ -255,6 +248,13 @@ int make_user_data(const char *pkgname, uid_t uid, userid_t userid, const char*
return -errno;
}
+ if (symlink(applibdir, libsymlink) < 0) {
+ ALOGE("couldn't symlink directory for non-primary '%s' -> '%s': %s\n", libsymlink,
+ applibdir, strerror(errno));
+ unlink(pkgdir);
+ return -1;
+ }
+
if (chown(pkgdir, uid, uid) < 0) {
ALOGE("cannot chown dir '%s': %s\n", pkgdir, strerror(errno));
unlink(libsymlink);