From 6d777b75ed322ea5ef0d1674ddfee1b5713cb04f Mon Sep 17 00:00:00 2001 From: Aaro Koskinen Date: Sat, 24 Oct 2015 22:01:29 +0200 Subject: [PATCH] xargs: make -I imply -r Make -I imply -r (GNU findutils seems to do the same). Fixes the following bug: $ echo -n | xargs -I% echo % Segmentation fault Signed-off-by: Aaro Koskinen Signed-off-by: Denys Vlasenko --- findutils/xargs.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/findutils/xargs.c b/findutils/xargs.c index 5870b8a16..69f83b128 100644 --- a/findutils/xargs.c +++ b/findutils/xargs.c @@ -577,6 +577,9 @@ int xargs_main(int argc, char **argv) G.argv = argv; argc = 0; read_args = process_stdin_with_replace; + /* Make -I imply -r. GNU findutils seems to do the same: */ + /* (otherwise "echo -n | xargs -I% echo %" would SEGV) */ + opt |= OPT_NO_EMPTY; } else #endif { -- 2.25.1