"rm" as root would fail to unlink a non-directory on OS X 10.4.x
authorJim Meyering <meyering@redhat.com>
Sat, 8 Dec 2007 23:56:02 +0000 (00:56 +0100)
committerJim Meyering <meyering@redhat.com>
Sat, 8 Dec 2007 23:57:00 +0000 (00:57 +0100)
* src/remove.c (remove_entry) ["can unlink directories"]: Fix a
mistakenly reversed condition.
* NEWS: Mention this bug fix.
Reported by Pieter Bowman.

ChangeLog
NEWS
THANKS
src/remove.c

index f9686a6..d2f2f31 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2007-12-09  Jim Meyering  <meyering@redhat.com>
+
+       "rm" as root would fail to unlink a non-directory on OS X 10.4.x
+       * src/remove.c (remove_entry) ["can unlink directories"]: Fix a
+       mistakenly reversed condition.
+       * NEWS: Mention this bug fix.
+       Reported by Pieter Bowman.
+
 2007-12-08  Jim Meyering  <meyering@redhat.com>
 
        * src/c99-to-c89.diff: Adjust shred.c offsets.
diff --git a/NEWS b/NEWS
index c6a0511..e5e59a6 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -2,6 +2,10 @@ GNU coreutils NEWS                                    -*- outline -*-
 
 * Noteworthy changes in release 6.9.91 (????-??-??) [beta]
 
+  "rm" would fail to unlink a non-directory when run in an environment
+  in which the user running rm is capable of unlinking a directory.
+  [bug introduced in coreutils-6.9]
+
 
 * Noteworthy changes in release 6.9.90 (2007-12-01) [beta]
 
diff --git a/THANKS b/THANKS
index 0b0124b..f91c262 100644 (file)
--- a/THANKS
+++ b/THANKS
@@ -424,6 +424,7 @@ Philippe De Muyter                  phdm@macqel.be
 Philippe Schnoebelen                Philippe.Schnoebelen@imag.fr
 Phillip Jones                       mouse@datastacks.com
 Piergiorgio Sartor                  sartor@sony.de
+Pieter Bowman                       bowman@math.utah.edu
 Piotr Kwapulinski                   kwap@univ.gda.pl
 Prashant TR                         tr@eth.net
 Rainer Orth                         ro@TechFak.Uni-Bielefeld.DE
index 11e2ccb..de8f5ff 100644 (file)
@@ -1150,7 +1150,7 @@ remove_entry (int fd_cwd, Dirstack_state const *ds, char const *filename,
            dirent_type = DT_DIR;
        }
 
-      if (dirent_type == DT_DIR)
+      if (dirent_type != DT_DIR)
        {
          /* At this point, barring race conditions, FILENAME is known
             to be a non-directory, so it's ok to try to unlink it.  */