Update of bug #54236 (project findutils): Status: None => Confirmed
_______________________________________________________ Follow-up Comment #1: To be on the safe side, file names have to be quoted when writing to a terminal. ----------------->8----------------- diff --git a/find/parser.c b/find/parser.c index d6621506..6cf4199a 100644 --- a/find/parser.c +++ b/find/parser.c @@ -3400,6 +3400,10 @@ open_output_file (const char *path, struct format_val *p) } p->dest_is_tty = stream_is_tty (p->stream); + + /* Fall back to a safer quoting style if writing to a terminal. */ + if (p->dest_is_tty) + set_quoting_style (p->quote_opts, shell_escape_quoting_style); } static void -----------------8<------------------ On a terminal, this leads to $ find . './alert'$'\302\233\302\233\302\233\302\233\302\233\302\233\302\233\302\233\033''[31mred' like newer ls(1) does, and still would be printed literally otherwise: $ find | od -tx1z 0000000 2e 0a 2e 2f 61 6c 65 72 74 c2 9b c2 9b c2 9b c2 >.../alert.......< 0000020 9b c2 9b c2 9b c2 9b c2 9b 1b 5b 33 31 6d 72 65 >..........[31mre< 0000040 64 0a >d.< 0000042 @James: I'm afraid that we'll run into the same discussions as in coreutils' ls wrt/ the default quoting style on a terminal. But hey, it's for security which should have precedence. WDYT? Have a nice day, Berny _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?54236> _______________________________________________ Message sent via Savannah https://savannah.gnu.org/