I'm curious: I've always just
used /^\.\.$/, assuming that it would be
sufficient. Are you recommending /\A\.\.\z/
as a defensive programming practice or are there specific
situations you've run into where you needed to do this?
| [reply] [d/l] [select] |
I'm just saying that it won't correctly categorize either dot-newline or dot-dot-newline, and that's a potential security hole if someone understands that,
or at least an annoyance if it doesn't.
See.. .if I wanted to remove all the files in a directory so I could rmdir it,
and I used that regex to skip over dot and dot-dot, I'd also be skipping over dot-newline and dot-dot-newline, and then my rmdir would be failing mysteriously.
A potential security hole if the presence of that directory permits me access to something I shouldn't have.
-- Randal L. Schwartz, Perl hacker
| [reply] |
Excellent, that was just what I was looking for!
Yet another example where "Expect the Unexpected" is a good
rule when you're dealing with anything outside your direct
control (filesystem, file contents, user input, ...).
Thanks!
| [reply] |