Opened 8 years ago

Closed 8 years ago

#3855 closed task (fixed)


Reported by: bdubbs@… Owned by: lfs-book@…
Priority: normal Milestone: 7.9
Component: Book Version: SVN
Severity: normal Keywords:


  • Noteworthy changes in release 2.22 (2015-11-01) [stable]


Performance has improved for patterns containing very long strings, reducing preprocessing time for an N-byte regexp from O(N2) to only slightly superlinear for most patterns. Before, a command like the following would take over a minute, but now, it takes less than a second: : | grep -f <(seq -s 99999)

When building grep, 'configure' now uses PCRE's pkg-config module for configuration information, rather than attempting to guess it by hand.

Bug fixes

A DFA matcher bug made this command mistakenly print its input line:

echo axb | grep -E 'x|x$'

Likewise for this equivalent command:

echo axb | grep -e 'x' -e 'x$'

[bug introduced in grep-2.19 ]

grep no longer reads from uninitialized memory or from beyond the end of the heap-allocated input buffer. This fix addressed CVE-2015-1345. [bug introduced in grep-2.19 ]

With -z, '.' and '[x]' in a pattern now consistently match newline. Previously, they sometimes matched newline, and sometimes did not. [bug introduced in grep-2.4]

When the JIT stack is exhausted, grep -P now grows the stack rather than reporting an internal PCRE error.

'grep -D skip PATTERN FILE' no longer hangs if FILE is a fifo. [bug introduced in grep-2.12]

--exclude and related options are now matched against entire command-line arguments, not against command-line components. [bug introduced in grep-2.6]

Fix performance degradation of grep -Fw in unibyte locales. [bug introduced in grep-2.19 ]

Change History (1)

comment:1 by bdubbs@…, 8 years ago

Resolution: fixed
Status: newclosed

Fixed at revision 10970.

Note: See TracTickets for help on using tickets.