From f433c3835fa7faadaff73526ce429b1140bdbc5e Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Mon, 31 Mar 2008 13:40:54 +0200 Subject: "rm -r DIR" would mistakenly prompt about very long names * src/remove.c (write_protected_non_symlink): Return 0(-1) when euidaccess_stat pronounces a writable(not-writable) file, not -1(0). * tests/rm/deep-2: New file. Test for the above-fixed bug. * tests/rm/Makefile.am (TESTS): Add deep-2. Discovered while reviewing this change: http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13071 --- src/remove.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/remove.c') diff --git a/src/remove.c b/src/remove.c index 9c6dc9ee2..7ba1e38ef 100644 --- a/src/remove.c +++ b/src/remove.c @@ -799,7 +799,7 @@ write_protected_non_symlink (int fd_cwd, = obstack_object_size (&ds->dir_stack) + strlen (file); if (MIN (PATH_MAX, 8192) <= file_name_len) - return - euidaccess_stat (buf, W_OK); + return euidaccess_stat (buf, W_OK) ? 0 : -1; if (euidaccess (xfull_filename (ds, file), W_OK) == 0) return 0; if (errno == EACCES) -- cgit v1.2.3-54-g00ecf