|Reported by:||Owned by:|
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)
Note: See TracTickets for help on using tickets.