diff options
author | 2017-09-21 15:41:37 -0600 | |
---|---|---|
committer | 2017-10-31 14:51:58 -0700 | |
commit | e2cff6afae7c6777dfbd0714ec805cb6dd20cf90 (patch) | |
tree | 1ca9c56ddf7c9890c18cd2a9bce5c6d525299344 | |
parent | ec0afbfa7bdeeb6d8585071a5944ab8b13cd9345 (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.cpp | 3 |
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); + } } } } |