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"); +}