freebsd-dev/tools
Jilles Tjoelker d366e1de7f MFC r207944: sh: Fix pathname expansion with quoted slashes like *\/.
These are git commits 36f0fa8fcbc8c7b2b194addd29100fb40e73e4e9 and
d6d06ff5c2ea0fa44becc5ef4340e5f2f15073e4 in dash.

Because this is the first code I'm importing from dash to expand.c, add the
Herbert Xu copyright notice which is in dash's expand.c.

When pathname expanding *\/, the CTLESC representing the quoted state was
erroneously taken as part of the * pathname component. This CTLESC was then
seen by the pattern matching code as escaping the '\0' terminating the
string.

The code is slightly different because dash converts the CTLESC characters
to backslashes and removes all the other CTL* characters to allow
substituting glob(3).

The effect of the bug was also slightly different from dash (where nothing
matched at all). Because a CTLESC can escape a '\0' in some way, whether
files were included despite the bug depended on memory that should not be
read. In particular, on many machines /*\/ expanded to a strict subset of
what /*/ expanded to.

Example:
  echo /*"/null"

This should print /dev/null, not /*/null.

PR:		bin/146378
Obtained from:	dash
2010-05-16 22:52:51 +00:00
..
build MFC r205702: 2010-03-29 18:24:08 +00:00
debugscripts o Correct comments: remove a reference to non-existent gdbinit.9 man page; 2006-05-22 07:12:25 +00:00
diag Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +00:00
kerneldoc MFC r196511: 2009-11-05 08:31:42 +00:00
KSE Use, in uncovered part, the END() macro in order to improve debugging. 2009-05-25 14:37:10 +00:00
LibraryReport
regression MFC r207944: sh: Fix pathname expansion with quoted slashes like *\/. 2010-05-16 22:52:51 +00:00
sched - Update my copyright. 2009-01-22 06:21:30 +00:00
test MFC: r207151 2010-05-02 16:55:10 +00:00
tools MFC: 205994 2010-04-13 01:04:11 +00:00
install.sh Arguments to options aren't necessarily separated with whitespace. 2004-07-07 09:38:14 +00:00
make_libdeps.sh MFC: r202969: Actualize. 2010-02-15 11:29:27 +00:00
README

$FreeBSD$

This directory tree contains tools used for the maintenance and
testing of FreeBSD.  There is no toplevel Makefile structure since
these tools are not meant to be built as part of the standard system,
though there may be individual Makefiles in some of the subdirs.

Please read the README files in the subdirs for further information.