summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbrian <brian@FreeBSD.org>2001-04-10 23:16:55 +0000
committerbrian <brian@FreeBSD.org>2001-04-10 23:16:55 +0000
commite47f3b7b9f4479e296e2ee927b7e08891474a521 (patch)
tree67646ad053dde684609cc776eab539222fb5d49a
parent3a77bccdbb6eaa568816dcadf605b46cc8089b03 (diff)
downloadFreeBSD-src-e47f3b7b9f4479e296e2ee927b7e08891474a521.zip
FreeBSD-src-e47f3b7b9f4479e296e2ee927b7e08891474a521.tar.gz
o The -s limit is ARG_MAX - 4K, not ARG_MAX - 2K.
o Mention that the current environment is part of the -s calculation. o Add a BUGS section that warns against executing a program that increases the size of the argument list or the size of the environment. I have wondered for a while what the difference is between get a big list | xargs sudo command which fails and get a big list | sudo xargs command which succeeds. The answer is that in the first case, sudo expands the environment and pushes the amount of data passed into execve over the E2BIG threshold.
-rw-r--r--usr.bin/xargs/xargs.118
1 files changed, 14 insertions, 4 deletions
diff --git a/usr.bin/xargs/xargs.1 b/usr.bin/xargs/xargs.1
index b7f4cdb..671edc3 100644
--- a/usr.bin/xargs/xargs.1
+++ b/usr.bin/xargs/xargs.1
@@ -112,16 +112,17 @@ is 5000.
.It Fl s Ar size
Set the maximum number of bytes for the command line length provided to
.Ar utility .
-The sum of the length of the utility name and the arguments passed to
+The sum of the length of the utility name, the arguments passed to
.Ar utility
(including
.Dv NULL
-terminators) will be less than or equal to this number.
+terminators) and the current environment will be less than or equal to
+this number.
The current default value for
.Ar size
is
.Dv ARG_MAX
-- 2048.
+- 4096.
.It Fl t
Echo the command to be executed to standard error immediately before it
is executed.
@@ -164,10 +165,19 @@ If any other error occurs,
exits with a value of 1.
.Sh SEE ALSO
.Xr echo 1 ,
-.Xr find 1
+.Xr find 1 ,
+.Xr execvp 3
.Sh STANDARDS
The
.Nm
utility is expected to be
.St -p1003.2
compliant.
+.Sh BUGS
+If
+.Ar utility
+attempts to envoke another command such that the number of arguments or the
+size of the environment is increased, it risks
+.Xr execvp 3
+failing with
+.Dv E2BIG .
OpenPOWER on IntegriCloud