Mercurial > hg > toybox
changeset 1374:739d3fc60f48 draft
Fix rm -rf of chmod 000 directories.
author | Rob Landley <rob@landley.net> |
---|---|
date | Thu, 03 Jul 2014 18:42:44 -0500 |
parents | a3ee4f91462a |
children | b6645034202b |
files | toys/posix/rm.c |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/toys/posix/rm.c Mon Jun 30 05:05:39 2014 -0500 +++ b/toys/posix/rm.c Thu Jul 03 18:42:44 2014 -0500 @@ -47,6 +47,11 @@ // handle directory recursion if (dir) { + // Handle chmod 000 directories when -f + if (faccessat(fd, try->name, R_OK, AT_SYMLINK_NOFOLLOW)) { + if (toys.optflags & FLAG_f) wfchmodat(fd, try->name, 0600); + else goto skip; + } if (try->data != -1) return DIRTREE_COMEAGAIN; using = AT_REMOVEDIR; if (try->symlink) goto skip;