From cd2cd095db6f26bf9889ef26f1b105843220b803 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 18 Mar 2023 23:35:04 +0900 Subject: [PATCH] rm-rf: fix errno handling --- src/shared/rm-rf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/shared/rm-rf.c b/src/shared/rm-rf.c index 6cc4265737..1695e1555a 100644 --- a/src/shared/rm-rf.c +++ b/src/shared/rm-rf.c @@ -287,8 +287,8 @@ int rm_rf_children( if (!newdirname) return log_oom(); - int newfd = openat(fd, de->d_name, - O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME); + int newfd = RET_NERRNO(openat(fd, de->d_name, + O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC|O_NOFOLLOW|O_NOATIME)); if (newfd >= 0) { todos[n_todo++] = (TodoEntry) { TAKE_PTR(d), TAKE_PTR(dirname) }; fd = newfd; @@ -296,8 +296,8 @@ int rm_rf_children( goto next_fd; - } else if (errno != -ENOENT && ret == 0) - ret = -errno; + } else if (newfd != -ENOENT && ret == 0) + ret = newfd; } else if (r < 0 && r != -ENOENT && ret == 0) ret = r; -- 2.25.1