mirror of
https://github.com/Gator96100/ProxSpace.git
synced 2025-08-21 05:43:26 -07:00
Updated msys2
This commit is contained in:
parent
6a85995508
commit
f0dc1ea8b0
13308 changed files with 689276 additions and 46605 deletions
|
@ -4,6 +4,149 @@ ChangeLog for PCRE
|
|||
Note that the PCRE 8.xx series (PCRE1) is now in a bugfix-only state. All
|
||||
development is happening in the PCRE2 10.xx series.
|
||||
|
||||
|
||||
Version 8.43 23-February-2019
|
||||
-----------------------------
|
||||
|
||||
1. Some time ago the config macro SUPPORT_UTF8 was changed to SUPPORT_UTF
|
||||
because it also applies to UTF-16 and UTF-32. However, this change was not made
|
||||
in the pcre2cpp files; consequently the C++ wrapper has from then been compiled
|
||||
with a bug in it, which would have been picked up by the unit test except that
|
||||
it also had its UTF8 code cut out. The bug was in a global replace when moving
|
||||
forward after matching an empty string.
|
||||
|
||||
2. The C++ wrapper got broken a long time ago (version 7.3, August 2007) when
|
||||
(*CR) was invented (assuming it was the first such start-of-pattern option).
|
||||
The wrapper could never handle such patterns because it wraps patterns in
|
||||
(?:...)\z in order to support end anchoring. I have hacked in some code to fix
|
||||
this, that is, move the wrapping till after any existing start-of-pattern
|
||||
special settings.
|
||||
|
||||
3. "pcre2grep" (sic) was accidentally mentioned in an error message (fix was
|
||||
ported from PCRE2).
|
||||
|
||||
4. Typo LCC_ALL for LC_ALL fixed in pcregrep.
|
||||
|
||||
5. In a pattern such as /[^\x{100}-\x{ffff}]*[\x80-\xff]/ which has a repeated
|
||||
negative class with no characters less than 0x100 followed by a positive class
|
||||
with only characters less than 0x100, the first class was incorrectly being
|
||||
auto-possessified, causing incorrect match failures.
|
||||
|
||||
6. If the only branch in a conditional subpattern was anchored, the whole
|
||||
subpattern was treated as anchored, when it should not have been, since the
|
||||
assumed empty second branch cannot be anchored. Demonstrated by test patterns
|
||||
such as /(?(1)^())b/ or /(?(?=^))b/.
|
||||
|
||||
7. Fix subject buffer overread in JIT when UTF is disabled and \X or \R has
|
||||
a greater than 1 fixed quantifier. This issue was found by Yunho Kim.
|
||||
|
||||
8. If a pattern started with a subroutine call that had a quantifier with a
|
||||
minimum of zero, an incorrect "match must start with this character" could be
|
||||
recorded. Example: /(?&xxx)*ABC(?<xxx>XYZ)/ would (incorrectly) expect 'A' to
|
||||
be the first character of a match.
|
||||
|
||||
9. Improve MAP_JIT flag usage on MacOS. Patch by Rich Siegel.
|
||||
|
||||
|
||||
Version 8.42 20-March-2018
|
||||
--------------------------
|
||||
|
||||
1. Fixed a MIPS issue in the JIT compiler reported by Joshua Kinard.
|
||||
|
||||
2. Fixed outdated real_pcre definitions in pcre.h.in (patch by Evgeny Kotkov).
|
||||
|
||||
3. pcregrep was truncating components of file names to 128 characters when
|
||||
processing files with the -r option, and also (some very odd code) truncating
|
||||
path names to 512 characters. There is now a check on the absolute length of
|
||||
full path file names, which may be up to 2047 characters long.
|
||||
|
||||
4. Using pcre_dfa_exec(), in UTF mode when UCP support was not defined, there
|
||||
was the possibility of a false positive match when caselessly matching a "not
|
||||
this character" item such as [^\x{1234}] (with a code point greater than 127)
|
||||
because the "other case" variable was not being initialized.
|
||||
|
||||
5. Although pcre_jit_exec checks whether the pattern is compiled
|
||||
in a given mode, it was also expected that at least one mode is available.
|
||||
This is fixed and pcre_jit_exec returns with PCRE_ERROR_JIT_BADOPTION
|
||||
when the pattern is not optimized by JIT at all.
|
||||
|
||||
6. The line number and related variables such as match counts in pcregrep
|
||||
were all int variables, causing overflow when files with more than 2147483647
|
||||
lines were processed (assuming 32-bit ints). They have all been changed to
|
||||
unsigned long ints.
|
||||
|
||||
7. If a backreference with a minimum repeat count of zero was first in a
|
||||
pattern, apart from assertions, an incorrect first matching character could be
|
||||
recorded. For example, for the pattern /(?=(a))\1?b/, "b" was incorrectly set
|
||||
as the first character of a match.
|
||||
|
||||
8. Fix out-of-bounds read for partial matching of /./ against an empty string
|
||||
when the newline type is CRLF.
|
||||
|
||||
9. When matching using the the REG_STARTEND feature of the POSIX API with a
|
||||
non-zero starting offset, unset capturing groups with lower numbers than a
|
||||
group that did capture something were not being correctly returned as "unset"
|
||||
(that is, with offset values of -1).
|
||||
|
||||
10. Matching the pattern /(*UTF)\C[^\v]+\x80/ against an 8-bit string
|
||||
containing multi-code-unit characters caused bad behaviour and possibly a
|
||||
crash. This issue was fixed for other kinds of repeat in release 8.37 by change
|
||||
38, but repeating character classes were overlooked.
|
||||
|
||||
11. A small fix to pcregrep to avoid compiler warnings for -Wformat-overflow=2.
|
||||
|
||||
12. Added --enable-jit=auto support to configure.ac.
|
||||
|
||||
13. Fix misleading error message in configure.ac.
|
||||
|
||||
|
||||
Version 8.41 05-July-2017
|
||||
-------------------------
|
||||
|
||||
1. Fixed typo in CMakeLists.txt (wrong number of arguments for
|
||||
PCRE_STATIC_RUNTIME (affects MSVC only).
|
||||
|
||||
2. Issue 1 for 8.40 below was not correctly fixed. If pcregrep in multiline
|
||||
mode with --only-matching matched several lines, it restarted scanning at the
|
||||
next line instead of moving on to the end of the matched string, which can be
|
||||
several lines after the start.
|
||||
|
||||
3. Fix a missing else in the JIT compiler reported by 'idaifish'.
|
||||
|
||||
4. A (?# style comment is now ignored between a basic quantifier and a
|
||||
following '+' or '?' (example: /X+(?#comment)?Y/.
|
||||
|
||||
5. Avoid use of a potentially overflowing buffer in pcregrep (patch by Petr
|
||||
Pisar).
|
||||
|
||||
6. Fuzzers have reported issues in pcretest. These are NOT serious (it is,
|
||||
after all, just a test program). However, to stop the reports, some easy ones
|
||||
are fixed:
|
||||
|
||||
(a) Check for values < 256 when calling isprint() in pcretest.
|
||||
(b) Give an error for too big a number after \O.
|
||||
|
||||
7. In the 32-bit library in non-UTF mode, an attempt to find a Unicode
|
||||
property for a character with a code point greater than 0x10ffff (the Unicode
|
||||
maximum) caused a crash.
|
||||
|
||||
8. The alternative matching function, pcre_dfa_exec() misbehaved if it
|
||||
encountered a character class with a possessive repeat, for example [a-f]{3}+.
|
||||
|
||||
9. When pcretest called pcre_copy_substring() in 32-bit mode, it set the buffer
|
||||
length incorrectly, which could result in buffer overflow.
|
||||
|
||||
10. Remove redundant line of code (accidentally left in ages ago).
|
||||
|
||||
11. Applied C++ patch from Irfan Adilovic to guard 'using std::' directives
|
||||
with namespace pcrecpp (Bugzilla #2084).
|
||||
|
||||
12. Remove a duplication typo in pcre_tables.c.
|
||||
|
||||
13. Fix returned offsets from regexec() when REG_STARTEND is used with a
|
||||
starting offset greater than zero.
|
||||
|
||||
|
||||
Version 8.40 11-January-2017
|
||||
----------------------------
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue