History log of /freebsd-10.1-release/usr.bin/apply/apply.c
Revision Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 272461 02-Oct-2014 gjb

Copy stable/10@r272459 to releng/10.1 as part of
the 10.1-RELEASE process.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation

# 256281 10-Oct-2013 gjb

Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.

Approved by: re (implicit)
Sponsored by: The FreeBSD Foundation


# 245048 04-Jan-2013 delphij

Constify arguments. While I'm there, also add a static for usage().

MFC after: 2 weeks


# 216370 11-Dec-2010 joel

Remove the advertising clause from UCB copyrighted files in usr.bin. This
is in accordance with the information provided at
ftp://ftp.cs.berkeley.edu/pub/4bsd/README.Impt.License.Change

Also add $FreeBSD$ to a few files to keep svn happy.

Discussed with: imp, rwatson


# 204761 05-Mar-2010 jh

- Use errx(3) instead of err(3) when checking if snprintf(3) succeeded.
snprintf(3) doesn't set errno in the tested cases.
- If the same argument reference (for example %1) was specified more than
once, the command didn't necessarily fit to the final command buffer. Fix
this using a dynamic sbuf buffer. Add a few regression tests for the case.

PR: bin/95079
No objections: freebsd-hackers


# 116109 09-Jun-2003 charnier

Revert previous commit, from Bruce:
This is a style bug. err() is declared is non-returning so that every
use of it doesn't need to be encrufted with NOTREACHED. It's too bad
that only gcc understands the declaration.

Asked by: bde@


# 116043 08-Jun-2003 charnier

Add NOTREACHED after err() inside of a switch statement.


# 99984 14-Jul-2002 alfred

WARNS=4


# 87628 10-Dec-2001 dwmalone

Style improvements recommended by Bruce as a follow up to some
of the recent WARNS commits. The idea is:

1) FreeBSD id tags should follow vendor tags.
2) Vendor tags should not be compiled (though copyrights probably should).
3) There should be no blank line between including cdefs and __FBSDIF.


# 87231 02-Dec-2001 markm

Use __FBSDID().


# 82057 21-Aug-2001 brian

Revert to version 1.16 which was more correct than either of my attempts.


# 82051 21-Aug-2001 brian

Remove unnecessary casts.

The original (1.16) code was mostly correct, but this version is
far clearer.

Casts suggested to now be obfuscations by: bde


# 81979 20-Aug-2001 brian

Handle snprintf() returning -1.

MFC after: 2 weeks


# 79452 09-Jul-2001 brian

Fix the type of the NULL arg to execl()

Idea from: Theo de Raadt <deraadt@openbsd.org>


# 71615 25-Jan-2001 will

Fix bogus checking of snprintf() by decreasing the remaining size of the
string after each successful snprintf() call. This makes apply(1) work
*correctly*, although the whole snprintf() deal really should be redone.

Bug noted by: nectar (about 3 weeks ago)


# 71326 21-Jan-2001 will

Fix numerous style(9) bugs: Put #define's before declarations; sort the
declarations & their arguments; use only one tab after types; restore the
type of argv to sync with src tree style; sort new variables under main();
fix continuation indents; remove extra blank line before free()'s. Still
to do: fix snprintf() handling as nectar & bde suggested to me.

Submitted by: bde


# 70692 05-Jan-2001 will

Reinstate revision 1.11:
BDECFLAGS; ANSIfy; use EXEC instead of "exec " where appropriate; use
proper types (size_t, int); use proper variable names for certain things;
get rid of static 'cache' style stuff by moving and sanitizing the
original SHELL checking code to main(), this also makes it easier to
free() the string; rename file-scope system() to exec_shell(); use
snprintf() everywhere instead of sprintf(); actually remember to free()
other malloc()'d char pointers in main().

I left out the -s option in this revision along with getusershell()
checking because of objections made by Warner Losh <imp> and Garrett
Wollman <wollman>. I agreed with their assertions that such code was
unnecessary in a program like this.

I dare people to make this coredump now.

Some suggestions: nectar (snprintf() truncate checking)
Reviewed by: markm, eivind, jedgar
Tortured by: examples in apply(1), fuzz(1),
and a lot of random ideas I came up with


# 70672 04-Jan-2001 will

Back out last commit; it had string function mistakes. I will fix this
and make sure it works next time.

Submitted by: markm, jhb


# 70669 04-Jan-2001 will

BDECFLAGS; de-__P()-ify, ANSIfy, use snprintf() instead of sprintf(),
especially on strings passed from argv; rename system() to exec_shell(),
and make it static; use strlcpy() and make sure it works; use proper
type (size_t) to be passed to malloc()/realloc().

Use getusershell() to make sure the SHELL environment variable passed is
safe to use. Add new option -s to allow anal users to pass things like
perl; this option is here along with getusershell() checking since the
such checking is only intended to affect things like suidperl that might
call apply(1).

Reviewed by: markm, jhb, C. Stephen Gunn <csg@waterspout.com>


# 67189 16-Oct-2000 brian

Include sys/types.h


# 60706 19-May-2000 kris

fork() -> vfork()

This would have been commit #2 which was "Obtained from: BSD/OS" except
their code is buggy (they call err() if the execl() fails, which will
incorrectly call exit()), so instead this is:

Obtained from: NetBSD


# 54157 05-Dec-1999 charnier

Do not dot terminate errx() strings. Add rcsid.
Document -d flag. Rework SYNOPSIS section


# 54113 04-Dec-1999 kris

Fix off-by-one error leading to a segfault.

Noticed by: Thomas Stromberg <tstromberg@rtci.com>


# 43928 12-Feb-1999 eivind

Merge from OpenBSD up to rev 1.5 (matches NetBSD up to rev 1.3):
* Clean up waitpid parameter handling.


# 41568 06-Dec-1998 archie

Tweaks to allow compiling -Wall (mostly adding "const" to char rcsid[]).


# 40301 13-Oct-1998 des

Calls one or more of malloc(), warn(), err(), syslog(), execlp() or
execvp() in the child branch of a vfork(). Changed to use fork()
instead.

Some of these (mv, find, apply, xargs) might benefit greatly from
being rewritten to use vfork() properly.

PR: Loosely related to bin/8252
Approved by: jkh and bde


# 24360 29-Mar-1997 imp

compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.


# 8874 30-May-1995 rgrimes

Remove trailing whitespace.


# 1591 27-May-1994 rgrimes

This commit was generated by cvs2svn to compensate for changes in r1590,
which included commits to RCS files with non-trunk default branches.


# 1590 27-May-1994 rgrimes

BSD 4.4 Lite Usr.bin Sources