coreutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] rmdir: fix uninitialized memory causing incorrect error


From: Pádraig Brady
Subject: Re: [PATCH] rmdir: fix uninitialized memory causing incorrect error
Date: Fri, 17 Sep 2021 00:51:05 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:84.0) Gecko/20100101 Thunderbird/84.0

On 17/09/2021 00:05, Jim Meyering wrote:
On Thu, Sep 16, 2021 at 3:35 PM Pádraig Brady <P@draigbrady.com> wrote:
* src/rmdir.c (main): Only inspect the returned stat structure,
when stat(2) returns success.
---
  src/rmdir.c | 3 ++-
  1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/rmdir.c b/src/rmdir.c
index 149d4659a..c6e2aba0f 100644
--- a/src/rmdir.c
+++ b/src/rmdir.c
@@ -262,7 +262,8 @@ main (int argc, char **argv)
                    struct stat st;
                    int ret = stat (dir, &st);
                    /* Some other issue following, or is actually a directory. 
*/
-                  if ((ret != 0 && errno != ENOTDIR) || S_ISDIR (st.st_mode))
+                  if ((ret != 0 && errno != ENOTDIR)
+                      || (ret == 0 && S_ISDIR (st.st_mode)))

Good one!
Found via valgrind?

Noticed initially with intermittent failures
when repeatedly testing on centos8.

Valgrind confirmed the issue.

cheers,
Pádraig



reply via email to

[Prev in Thread] Current Thread [Next in Thread]