Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9f34234f authored by Narayan Kamath's avatar Narayan Kamath Committed by Android Git Automerger
Browse files

am b916d8ad: Merge "Implement FileUtils#contains."

* commit 'b916d8ad':
  Implement FileUtils#contains.
parents c8a045d4 b916d8ad
Loading
Loading
Loading
Loading
+22 −0
Original line number Diff line number Diff line
@@ -357,4 +357,26 @@ public class FileUtils {
            }
        }
    }

    /**
     * Test if a file lives under the given directory, either as a direct child
     * or a distant grandchild.
     * <p>
     * Both files <em>must</em> have been resolved using
     * {@link File#getCanonicalFile()} to avoid symlink or path traversal
     * attacks.
     */
    public static boolean contains(File dir, File file) {
        String dirPath = dir.getAbsolutePath();
        String filePath = file.getAbsolutePath();

        if (dirPath.equals(filePath)) {
            return true;
        }

        if (!dirPath.endsWith("/")) {
            dirPath += "/";
        }
        return filePath.startsWith(dirPath);
    }
}