summaryrefslogtreecommitdiff
path: root/findutils/xargs.c
diff options
context:
space:
mode:
authorAaro Koskinen2015-10-24 22:01:29 +0200
committerDenys Vlasenko2015-10-24 22:01:29 +0200
commit6d777b75ed322ea5ef0d1674ddfee1b5713cb04f (patch)
tree98261f2e1093b22a80d52a30a0bf34afef40e0a1 /findutils/xargs.c
parentf98705a00c15fc029116e00507abcfb745b86bfa (diff)
downloadbusybox-6d777b75ed322ea5ef0d1674ddfee1b5713cb04f.zip
busybox-6d777b75ed322ea5ef0d1674ddfee1b5713cb04f.tar.gz
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 <aaro.koskinen@iki.fi> Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Diffstat (limited to 'findutils/xargs.c')
-rw-r--r--findutils/xargs.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/findutils/xargs.c b/findutils/xargs.c
index 5870b8a..69f83b1 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
{