X-Git-Url: http://erislabs.net/gitweb/?a=blobdiff_plain;f=lib%2Funlink.c;h=8d53b11db6a44e489230fb79baa0de3e211b3447;hb=4f73e86209f313dfc2b9dd649fa6bcdf8122310f;hp=3e42e28692c373861649eaea61675fc773bf0235;hpb=b2e2010c7c902235b5efb5bd3c6529f61b093aa4;p=gnulib.git diff --git a/lib/unlink.c b/lib/unlink.c index 3e42e2869..8d53b11db 100644 --- a/lib/unlink.c +++ b/lib/unlink.c @@ -80,6 +80,16 @@ rpl_unlink (char const *name) } } if (!result) - result = unlink (name); + { +#if UNLINK_PARENT_BUG + if (len >= 2 && name[len - 1] == '.' && name[len - 2] == '.' + && (len == 2 || ISSLASH (name[len - 3]))) + { + errno = EISDIR; /* could also use EPERM */ + return -1; + } +#endif + result = unlink (name); + } return result; }