Opened 10 years ago
Closed 10 years ago
#3905 closed task (fixed)
grep-2.24
| Reported by: | Owned by: | ||
|---|---|---|---|
| Priority: | normal | Milestone: | 7.10 |
| Component: | Book | Version: | SVN |
| Severity: | normal | Keywords: | |
| Cc: |
Description
New minor version
grep -z would match strings it should not. To trigger the bug, you'd
have to use a regular expression including an anchor (^ or $) and a
feature like a range or a backreference, causing grep to forego its DFA
matcher and resort to using re_search. With a multibyte locale, that
matcher could mistakenly match a string containing a newline.
For example, this command:
printf 'a\nb\0' | LC_ALL=en_US.utf-8 grep -z '^[a-b]*b'
would mistakenly match and print all four input bytes. After the fix,
there is no match, as expected.
[bug introduced in grep-2.7]
grep -Pz now diagnoses attempts to use patterns containing ^ and $,
instead of mishandling these patterns. This problem seems to be
inherent to the PCRE API; removing this limitation is on PCRE's
maint/README wish list. Patterns can continue to match literal ^
and $ by escaping them with \ (now needed even inside [...]).
[bug introduced in grep-2.5]
Change History (2)
comment:1 by , 10 years ago
comment:2 by , 10 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.

Fixed at revision 11042.