uutils/findutils

`-printf` panics on an invalid-UTF-8 format string (exit 101)

Open

#816 opened on Aug 7, 2026

 (1 comment) (0 reactions) (0 assignees)Rust (96 forks)user submission
good first issue

Repository metrics

Stars
 (635 stars)
PR merge metrics
 (Avg merge 26d 6h) (46 merged PRs in 30d)

Description

A -printf format string that is not valid UTF-8 panics during argument collection, before the format parser is ever reached.

$ find d -printf $'%\xff|\n'
thread 'main' panicked at ...: called `Result::unwrap()` on an `Err` value
$ echo $?
101

The panic is in std::env::args, which panics on non-UTF-8 arguments. Collecting via std::env::args_os and handling the invalid-UTF-8 case explicitly would let this produce a normal error (or match GNU, which accepts arbitrary bytes in the format string and passes them through).

Contributor guide