• Nick Kralevich's avatar
    VolumeManager: don't use faccessat(AT_SYMLINK_NOFOLLOW) · 25e581a1
    Nick Kralevich authored
    Don't use faccessat(AT_SYMLINK_NOFOLLOW). In Android, AT_SYMLINK_NOFOLLOW
    is ignored. In glibc, it returns counter intuitive results when a
    symbolic link is encountered, returning true all the time even though
    an open(O_NOFOLLOW) will eventually fail.
    
    Instead, stat the file and check to see if it's a regular file,
    not a directory or symlink or some other weirdness.
    
    In addition, fix a bug where isAsecInDirectory would return
    true ("-1") if the asec directory didn't exist. It should return
    false.
    
    Bug: 18867827
    Change-Id: I33d90e9095fad36ce0f83fde105b70f72e4eaef4
    25e581a1
VolumeManager.cpp 52.7 KB