Reject only .. and . (#13)

This commit is contained in:
Chris Done
2016-03-04 15:06:27 +01:00
parent 47450b5dd6
commit 04608e0e53
2 changed files with 6 additions and 3 deletions

View File

@@ -117,7 +117,7 @@ parseRelDir filepath =
not ("~/" `isPrefixOf` filepath) &&
not (hasParentDir filepath) &&
not (null (normalizeDir filepath)) &&
not (all (== '.') filepath) &&
filepath /= "." && filepath /= ".." &&
FilePath.isValid filepath
then return (Path (normalizeDir filepath))
else throwM (InvalidRelDir filepath)
@@ -134,7 +134,7 @@ parseAbsFile filepath =
not ("~/" `isPrefixOf` filepath) &&
not (hasParentDir filepath) &&
not (null (normalizeFile filepath)) &&
not (all (== '.') filepath) &&
filepath /= "." && filepath /= ".." &&
FilePath.isValid filepath
then return (Path (normalizeFile filepath))
else throwM (InvalidAbsFile filepath)
@@ -154,7 +154,7 @@ parseRelFile filepath =
not ("~/" `isPrefixOf` filepath) &&
not (hasParentDir filepath) &&
not (null (normalizeFile filepath)) &&
not (all (== '.') filepath) &&
filepath /= "." && filepath /= ".." &&
FilePath.isValid filepath
then return (Path (normalizeFile filepath))
else throwM (InvalidRelFile filepath)