From b841a114211cea27c8f8026695182c885da421c9 Mon Sep 17 00:00:00 2001 From: Michael Debertol Date: Tue, 17 Aug 2021 15:27:34 +0200 Subject: [PATCH] chmod: fail if the operand list is empty --- src/uu/chmod/src/chmod.rs | 4 ++++ tests/by-util/test_chmod.rs | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/src/uu/chmod/src/chmod.rs b/src/uu/chmod/src/chmod.rs index d307b1c73..6b165d198 100644 --- a/src/uu/chmod/src/chmod.rs +++ b/src/uu/chmod/src/chmod.rs @@ -98,6 +98,10 @@ pub fn uumain(args: impl uucore::Args) -> i32 { Some(cmode) }; + if files.is_empty() { + crash!(1, "missing operand"); + } + let chmoder = Chmoder { changes, quiet, diff --git a/tests/by-util/test_chmod.rs b/tests/by-util/test_chmod.rs index 6ffc86325..5106b4fe6 100644 --- a/tests/by-util/test_chmod.rs +++ b/tests/by-util/test_chmod.rs @@ -523,3 +523,12 @@ fn test_chmod_keep_setgid() { assert_eq!(at.metadata("dir").permissions().mode(), to); } } + +#[test] +fn test_no_operands() { + new_ucmd!() + .arg("777") + .fails() + .code_is(1) + .stderr_is("chmod: missing operand"); +}