Subject: Re: [PATCH v4 05/19] grep: remove redundant `regflags &= ~REG_EXTENDED` assignments

From: Junio C Hamano <[email-masked]>
Date: Tue, 25 Apr 2017 22:29:00 -0700

Ævar Arnfjörð Bjarmason  <[email-masked]> writes:

> @@ -417,7 +415,6 @@ static void compile_fixed_regexp(struct grep_pat *p, struct grep_opt *opt)
>  	int regflags;
>  
>  	basic_regex_quote_buf(&sb, p->pattern);
> -	regflags = opt->regflags & ~REG_EXTENDED;
>  	if (opt->ignore_case)
>  		regflags |= REG_ICASE;
>  	err = regcomp(&p->regexp, sb.buf, regflags);

This hunk is wrong.  Now the use of regflags we see in the post
context is mixing ICASE bit into an uninitialized garbage on the
stack.