uutils/findutils

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

Aperta

#816 aperta il 7 ago 2026

 (1 commento) (0 reazioni) (0 assegnatari)Rust (96 fork)user submission
good first issue

Metriche repository

Star
 (635 stelle)
Metriche merge PR
 (Merge medio 26g 6h) (46 PR mergiate in 30 g)

Descrizione

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).

Guida contributor