From 0e675d98f3aba7a834dc56c2ae419f20da376f44 Mon Sep 17 00:00:00 2001 From: Rob Landley Date: Sat, 5 Dec 2020 23:59:04 -0600 Subject: Fix find empty argument handling and add test. --- tests/find.test | 1 + toys/posix/find.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/find.test b/tests/find.test index 71a55010..f4277375 100755 --- a/tests/find.test +++ b/tests/find.test @@ -142,5 +142,6 @@ testing "-L broken" "find -L broken" "broken\n" "" "" testing "one slash" 'find /etc/ -maxdepth 1 | grep /passwd\$' '/etc/passwd\n' \ '' '' +testing 'empty arg' 'find "" dir -name file 2>/dev/null' 'dir/file\n' '' '' rm -rf dir diff --git a/toys/posix/find.c b/toys/posix/find.c index ff127b91..2d8ca0b1 100644 --- a/toys/posix/find.c +++ b/toys/posix/find.c @@ -690,7 +690,7 @@ void find_main(void) // Distinguish paths from filters for (len = 0; toys.optargs[len]; len++) - if (strchr("-!(", *toys.optargs[len])) break; + if (*toys.optargs[len] && strchr("-!(", *toys.optargs[len])) break; TT.filter = toys.optargs+len; // use "." if no paths -- cgit v1.2.3