OSDN Git Service

fnmatch.c: Update to version in OpenBSD HEAD
authorNick Kralevich <nnk@google.com>
Wed, 21 Mar 2012 16:46:46 +0000 (09:46 -0700)
committerNick Kralevich <nnk@google.com>
Wed, 21 Mar 2012 16:53:05 +0000 (09:53 -0700)
commitd1860ad8ddccc17c31783d08a518380d0f205702
tree89425a30d3aa7ff8ad1e653a20c4414c040f2a56
parentaac0dc97a9ad91231fa89878e745548d693366c1
fnmatch.c: Update to version in OpenBSD HEAD

Upgrade fnmatch.c from OpenBSD version 1.13 to 1.16.
This is needed primarily to address CVE-2011-0419.

This is a straight copy from upstream's version at
http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/fnmatch.c and
incorporates the following changes:

Revision 1.16:
New fnmatch(3) implementation which is not recursive.
Written and provided under BSD licence by William A. Rowe Jr.
Originally released in Apache APR-1.4.5.
Merged class matching code from r1.14 and PATH_MAX check from r1.15.
ok miod millert

Revision 1.15:
Put a limit on recursion during matching, and reject input of size greater
or equal PATH_MAX. Based on similar fix made in NetBSD.
ok miod@ millert@

Revision 1.14:
POSIX character class support for fnmatch(3) and glob(3).  OK deraadt@

Version 1.14 introduced charclasses.h, which we copy unmodified
from upstream version 1.1.
http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/gen/charclass.h

Bug: 3435120
Change-Id: I45133468f0c3d439fd10eb087a1c647799f9d25b
libc/unistd/charclass.h [new file with mode: 0644]
libc/unistd/fnmatch.c