Only set permissions on dirs or files

Traversal would mark directories with the correct permissions, but
they're visited again in post-order which is a different fts_info flag.
Then it would set that to regular file permissions.

Explicitly check to make sure we're looking at a file instead.

Bug: 6478606
Change-Id: I13cab3e69f451da6a994fa974d575ef366f82025
This commit is contained in:
Kenny Root 2012-05-10 15:39:53 -07:00
parent e5032c42da
commit 348c8aba0d

View file

@ -571,7 +571,7 @@ int VolumeManager::fixupAsecPermissions(const char *id, gid_t gid, const char* f
if (ftsent->fts_info & FTS_D) {
result |= fchmod(fd, 0711);
} else {
} else if (ftsent->fts_info & FTS_F) {
result |= fchmod(fd, privateFile ? 0640 : 0644);
}
close(fd);