#
302168 |
|
24-Jun-2016 |
pfg |
MFC r300683: libc: regexec(3) adjustment.
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)
|
#
300963 |
|
29-May-2016 |
pfg |
MFC r300378: libc/regex: fix two buffer underruns.
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.
Obtained from: OpenBSD (CVS 1.20, 1.21)
|
#
298726 |
|
27-Apr-2016 |
pfg |
MFC r298521; regex: prevent two improbable signed integer overflows.
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.
|
#
265726 |
|
08-May-2014 |
pfg |
MFC r265202: Remove some unreachable breaks in regex.
This is based on a much bigger cleanup done in Illumos.
Reference: https://www.illumos.org/issues/2077
|
#
265726 |
|
08-May-2014 |
pfg |
MFC r265202: Remove some unreachable breaks in regex.
This is based on a much bigger cleanup done in Illumos.
Reference: https://www.illumos.org/issues/2077
|