From 3f7c7c2497037ff29c84464059ea9a6442596354 Mon Sep 17 00:00:00 2001 From: "Roberto E. Vargas Caballero" Date: Thu, 24 Apr 2025 08:51:22 +0200 Subject: [PATCH] rm: Don't attempt to remove . or .. POSIX explicitely mandates to ignore . or .. to avoid pitfals like rm -r .* and no having files that begin with a dot. --- rm.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rm.c b/rm.c index 2391d68..1f23c09 100644 --- a/rm.c +++ b/rm.c @@ -1,5 +1,6 @@ /* See LICENSE file for copyright and license details. */ #include +#include #include "fs.h" #include "util.h" @@ -37,8 +38,10 @@ main(int argc, char *argv[]) return 0; } - for (; *argv; argc--, argv++) - recurse(AT_FDCWD, *argv, NULL, &r); + for (; *argv; argc--, argv++) { + if (strcmp(*argv, ".") && strcmp(*argv, "..")) + recurse(AT_FDCWD, *argv, NULL, &r); + } return rm_status || recurse_status; }