diff --git a/src/uu/truncate/src/truncate.rs b/src/uu/truncate/src/truncate.rs index bdb2af011ab..6e28c0108f8 100644 --- a/src/uu/truncate/src/truncate.rs +++ b/src/uu/truncate/src/truncate.rs @@ -360,6 +360,11 @@ fn parse_mode_and_size(size_string: &str) -> Result Result TruncateMode::Absolute, }) } else { - Err(ParseSizeError::ParseFailure(size_string.to_string())) + Err(ParseSizeError::ParseFailure("''".to_string())) } } diff --git a/tests/by-util/test_truncate.rs b/tests/by-util/test_truncate.rs index d44723c36b6..743c6271823 100644 --- a/tests/by-util/test_truncate.rs +++ b/tests/by-util/test_truncate.rs @@ -491,3 +491,19 @@ fn test_truncate_non_utf8_paths() { // Test that truncate can handle non-UTF-8 filenames ts.ucmd().arg("-s").arg("10").arg(file_name).succeeds(); } + +#[test] +fn test_empty_size() { + new_ucmd!() + .args(&["-s", "", "asd"]) + .fails() + .stderr_is("truncate: Invalid number: ''\n"); +} + +#[test] +fn test_sign_as_a_size() { + new_ucmd!() + .args(&["-s", "+", "asd"]) + .fails() + .stderr_is("truncate: Invalid number: '+'\n"); +}