| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Correct an out-of-bounds read in regcomp when the RE is bad.
When passed the invalid regular expression "a**", the error is
eventually detected and seterr() is called. It sets p->error
appropriatly and p->next and p->end to nuls which is a never used char
nuls[10] which is zeros due to .bss initialization. Unfortunatly,
p_ere_exp() and p_simp_re() both have fall through cases where they set
the error, decrement p->next and access it which means a read from
whatever .bss variable comes before nuls.
Found with regex_test:repet_multi and CHERI bounds checking.
Reviewed by: ngie, pfg, emaste
Obtained from: CheriBSD
Sponsored by: DARPA, AFRL
Differential Revision: https://reviews.freebsd.org/D10541
Notes:
svn path=/stable/11/; revision=318029
|
|
|
|
|
|
|
|
|
|
|
|
| |
regex: unsign and constify some variables.
Taking some hints from the regex variant in nvi(1) and higher-level
compiler warnings, update some types in our regex(3) implementation.
Joint work with: Kyle Evans
Notes:
svn path=/stable/11/; revision=317894
|
|
|
|
|
|
|
|
|
|
|
| |
libc: provide some bounds-checking through reallocarray(3).
reallocarray(3) is a non portable extension that originated in OpenBSD.
Given that it is already in FreeBSD's libc it is useful for the cases
where reallocation involves a multiplication.
Notes:
svn path=/stable/11/; revision=316613
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
r312332:
Use SRCTOP where possible and use :H to manipulate .CURDIR to get rid of
unnecessarily long relative path .PATH values with make
r312446 (by emaste):
libc: remove reference to nonexistent lib/locale directory
As far as I can tell this was introduced in r72406 and updated in several
subsequent revisions, but the lib/locale directory it referenced never
existed.
r312451:
Replace dot-dot relative pathing with SRCTOP-relative paths where possible
This reduces build output, need for recalculating paths, and makes it clearer
which paths are relative to what areas in the source tree. The change in
performance over a locally mounted UFS filesystem was negligible in my testing,
but this may more positively impact other filesystems like NFS.
LIBC_SRCTOP was left alone so Juniper (and other users) can continue to
manipulate lib/libc/Makefile (and other Makefile.inc's under lib/libc) as
include Makefiles with custom options.
Discussed with: marcel, sjg
Notes:
svn path=/stable/11/; revision=313240
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
1) Eliminate possibility to call __*collate_range_cmp() with inclomplete
locale (which cause core dump) by removing whole 'table' argument
by which it passed.
2) Restore __collate_range_cmp() in __sccl().
3) Collating [a-z] range in regcomp() work only for single bytes locales
(we can't do it now for other ones). In previous code only first 256
wchars are considered and all others are just silently dropped from the
range.
Notes:
svn path=/stable/11/; revision=304275
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When collation support was brought in, the second and third
arguments in __collate_range_cmp() were changed from int to
wchar_t, breaking the ABI. Change them to a "char" type which
makes more sense and keeps the ABI compatible.
Also introduce __wcollate_range_cmp() which does work with wide
characters. This function is used only internally in libc so
we don't export it. Use the new function in glob(3), fnmatch(3),
and regexec(3).
PR: 179721
Suggested by: ache. jilles
MFC after: 3 weeks (perhaps partial only)
Notes:
svn path=/head/; revision=301461
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Change the behavior of when REG_STARTEND is combined with REG_NOTBOL.
From the original posting[1]:
"Enable the assumption that pmatch[0].rm_so is a continuation offset
to a string and allows us to do a proper assessment of the character
in regards to it's word position ('^' or '\<'), without risking going
into unallocated memory."
This change makes us similar to how glibc handles REG_STARTEND |
REG_NOTBOL, and is closely related to a soon-to-land fix to sed.
Special thanks to Martijn van Duren and Ingo Schwarze for working
out some consistent behaviour.
Differential Revision: https://reviews.freebsd.org/D6257
Taken from: openbsd-tech 2016-05-24 [1] (Martijn van Duren)
Relnotes: yes
MFC after: 1 month
Notes:
svn path=/head/; revision=300683
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fix some rather complex regex issues found on OpenBSD as part of some
ongoing work to fix a sed(1) bug.
Curiously the OpenBSD tests don't trigger segfaults on FreeBSD but the
bugs were confirmed by running a port of FreeBSD's regex under OpenBSD's
malloc. Huge thanks to Ingo for confirming the behavior.
Taken from: Ingo Schwarze (through openbsd-tech 2016-05-15)
MFC after: 1 week
Notes:
svn path=/head/; revision=300378
|
|
|
|
|
|
|
| |
Mostly on comments.
Notes:
svn path=/head/; revision=298830
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In matcher() we used an integer to index nsub of type size_t.
In print() we used an integer to index nstates of type sopno,
typedef'd long.
In both cases the indexes never take negative values.
Match the types to avoid any error.
MFC after: 5 days
Notes:
svn path=/head/; revision=298521
|
|
|
|
|
|
|
|
|
|
|
|
| |
the xlocale private symbols exposed which aren't exposed publicly
via the DSO
PR: 191354
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=292153
|
|
|
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=291838
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Create automatically generated include header for split.c
main.c:
- Use function definitions from debug.ih and split.ih instead of externs
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=291837
|
|
|
|
|
|
|
|
|
|
| |
exposes split(..).
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=291836
|
|
|
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=291835
|
|
|
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=291834
|
|
|
|
|
|
|
|
|
|
| |
- Add a missing return type for main(..)
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=291833
|
|
|
|
|
|
|
|
| |
MFC after: 1 week
Sponsored by: EMC / Isilon Storage Division
Notes:
svn path=/head/; revision=291832
|
|
|
|
| |
Notes:
svn path=/head/; revision=282007
|
|
|
|
|
|
|
|
|
| |
Mostly cosmetical warning.
Found by: Clang static analyzer
Notes:
svn path=/head/; revision=281858
|
|
|
|
|
|
|
|
| |
As a follow up to r279090, if dp hasn't been defined, we
shouldn't attempt to do an optimization here.
Notes:
svn path=/head/; revision=279104
|
|
|
|
|
|
|
|
| |
CID: 405582 (also clang static checker)
CID: 1018724
Notes:
svn path=/head/; revision=279090
|
|
|
|
|
|
|
|
|
|
|
| |
overflow size_t.
Obtained from: DragonFly (2841837793bd095a82f477e9c370cfe6cfb3862c dillon)
Security: CERT VU#695940
MFC after: 3 days
Notes:
svn path=/head/; revision=278739
|
|
|
|
| |
Notes:
svn path=/head/; revision=276360
|
|
|
|
|
|
|
|
| |
Obtained from: DragonFlyBSD (commit 5119ece)
MFC after: 2 weeks
Notes:
svn path=/head/; revision=275930
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Solaris and other OSs have support for \< and \> as word
delimiters in utilities like sed(1). These are useful to
have for general compatiblity with Solaris but should be
avoided for portability with other systems, including the
traditional BSDs.
Bump __FreeBSD_version as this is likely to affect some
userland utilities.
Reference:
https://www.illumos.org/issues/516
PR: bin/153257
Obtained from: Illumos
MFC after: 1 month
Notes:
svn path=/head/; revision=268066
|
|
|
|
|
|
|
|
|
|
|
| |
The code doesn't really benefit of using reallocf() in this case.
Also, the realloc() results being assigned temporary variable which
makes blind replacement with reallocf() mostly useless.
Pointed out by: stefanf, bde
Notes:
svn path=/head/; revision=267700
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Use of reallocf is useful in libraries as we are not certain the
application will exit after NULL.
This somewhat reduces portability but if since you are building
this as part of libc it is likely you have our non-standard
reallocf(3) already.
Reviewed by: ache
MFC after: 5 days
Notes:
svn path=/head/; revision=267675
|
|
|
|
|
|
|
|
|
|
|
| |
Use of calloc instead of malloc in regex (from OpenBSD).
In this case the change makes no sense since we are using realloc() later.
Reported by: ache
Notes:
svn path=/head/; revision=265375
|
|
|
|
|
|
|
|
|
|
| |
Mostly to reduce differences with OpenBSD.
Obtained from: OpenBSD (CVS rev. 1.17)
MFC after: 3 days
Notes:
svn path=/head/; revision=265367
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is based on a much bigger cleanup done in Illumos.
Reference:
https://www.illumos.org/issues/2077
MFC after: 1 week
Notes:
svn path=/head/; revision=265202
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
if not already defined. This allows building libc from outside of
lib/libc using a reach-over makefile.
A typical use-case is to build a standard ILP32 version and a COMPAT32
version in a single iteration by building the COMPAT32 version using a
reach-over makefile.
Obtained from: Juniper Networks, Inc.
Notes:
svn path=/head/; revision=262722
|
|
|
|
|
|
|
|
|
| |
Submitted by: Sascha Wildner <saw online de>
Obtained from: DragonFly rev fd39c81ba220f7ad6e4dc9b30d45e828cf58a1ad
MFC after: 2 weeks
Notes:
svn path=/head/; revision=247596
|
|
|
|
|
|
|
| |
Approved by: dim (mentor)
Notes:
svn path=/head/; revision=232601
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
load of _l suffixed versions of various standard library functions that use
the global locale, making them take an explicit locale parameter. Also
adds support for per-thread locales. This work was funded by the FreeBSD
Foundation.
Please test any code you have that uses the C standard locale functions!
Reviewed by: das (gdtoa changes)
Approved by: dim (mentor)
Notes:
svn path=/head/; revision=227753
|
|
|
|
|
|
|
|
|
| |
and encoded wint_t.
Spotted by: ache
Notes:
svn path=/head/; revision=227435
|
|
|
|
|
|
|
|
|
|
| |
- Fix types of function arguments match their declaration
Reviewed by: delphij
Obtained from: NetBSD
Notes:
svn path=/head/; revision=227414
|
|
|
|
|
|
|
| |
They have no effect when coming in pairs, or before .Bl/.Bd
Notes:
svn path=/head/; revision=213573
|
|
|
|
|
|
|
|
|
|
| |
following an OOR2 operator.
PR: 130504
MFC after: 2 weeks
Notes:
svn path=/head/; revision=197246
|
|
|
|
| |
Notes:
svn path=/head/; revision=197245
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
An additional one coming from http://www.research.att.com/~gsf/testregex/
was not added; at some point the entire AT&T regression test harness
should be imported here.
But that would also mean commitment to fix the uncovered errors.
PR: 130504
Submitted by: Chris Kuklewicz
Notes:
svn path=/head/; revision=197234
|
|
|
|
|
|
|
|
|
|
|
| |
that belong in a character class, and (2) one for matching all
the characters *not* in a character class.
Submitted by: Mark B, mkbucc at gmail.com
MFC after: 3 days
Notes:
svn path=/head/; revision=182795
|
|
|
|
| |
Notes:
svn path=/head/; revision=176380
|
|
|
|
|
|
|
| |
prototypes. No function changes.
Notes:
svn path=/head/; revision=170528
|
|
|
|
|
|
|
|
| |
This is the final change that makes libc to compile with
WERROR on my amd64 crashbox.
Notes:
svn path=/head/; revision=169982
|
|
|
|
| |
Notes:
svn path=/head/; revision=169092
|
|
|
|
|
|
|
| |
Obtained from: OpenBSD
Notes:
svn path=/head/; revision=167223
|
|
|
|
|
|
|
|
|
| |
zero and the recursion level is too deep.
Obtained from: OpenBSD
Notes:
svn path=/head/; revision=167222
|
|
|
|
|
|
|
|
|
| |
echo "foo foo bar bar bar baz" | sed 's/\([^ ]*\)\( *\1\)*/\1/g'
Obtained from: OpenBSD via NetBSD (rev. 1.18)
Notes:
svn path=/head/; revision=167216
|
|
|
|
|
|
|
|
|
| |
clause.
# If I've done so improperly on a file, please let me know.
Notes:
svn path=/head/; revision=165903
|