summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Jeff Sharkey <jsharkey@android.com> 2017-09-21 15:41:37 -0600
committer Andreas Gampe <agampe@google.com> 2017-10-31 14:51:58 -0700
commite2cff6afae7c6777dfbd0714ec805cb6dd20cf90 (patch)
tree1ca9c56ddf7c9890c18cd2a9bce5c6d525299344
parentec0afbfa7bdeeb6d8585071a5944ab8b13cd9345 (diff)
Skip children in fixupAppData() when parent shady.
If we find a directory with a shady GID, skip traversing into child directories (if any), since we'll probably end up spamming the log with every single item inside. (cherry picked from commit 6b63b91febc595ff67ef45b3c4bd56c8268899e9) Test: builds, boots Bug: 65852352 Merged-In: I8f03864adef572fc277e34e9f1589d9664fc75b3 Change-Id: I8f03864adef572fc277e34e9f1589d9664fc75b3
-rw-r--r--cmds/installd/InstalldNativeService.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/cmds/installd/InstalldNativeService.cpp b/cmds/installd/InstalldNativeService.cpp
index 4a93b1fd3d..7a397d1389 100644
--- a/cmds/installd/InstalldNativeService.cpp
+++ b/cmds/installd/InstalldNativeService.cpp
@@ -714,6 +714,9 @@ binder::Status InstalldNativeService::fixupAppData(const std::unique_ptr<std::st
// Ignore all other GID transitions, since they're kinda shady
LOG(WARNING) << "Ignoring " << p->fts_path << " with unexpected GID " << actual
<< " instead of " << expected;
+ if (!(flags & FLAG_FORCE)) {
+ fts_set(fts, p, FTS_SKIP);
+ }
}
}
}