HomeFreeBSD

Fix a segfault in bsdgrep when parsing the invalid extended regexps "?"

Description

Fix a segfault in bsdgrep when parsing the invalid extended regexps "?"
or "+" (these are invalid, because there is no preceding operand).

When bsdgrep attempts to emulate GNU grep in discarding and ignoring the
invalid ? or + operators, some later logic in tre_compile_fast() goes
beyond the end of the buffer, leading to a crash.

Fix this by bailing out, and reporting a bad pattern instead.

Reported by: Steve Kargl
MFC after: 1 week

Details

Provenance
dimAuthored on
Parents
rS303675: MFC r303410,r303419:
Branches
Unknown
Tags
Unknown