Re: segfault for git log --graph --no-walk --grep a
- From
Junio C Hamano <gitster@pobox.com>
- Date
- Feb 9, 2013, 00:39 UTC
- Message-ID
- <7vfw16xqvj.fsf@alter.siamese.dyndns.org>
- In-Reply-To
- <20130209002710.GA5570@sigill.intra.peff.net>
Jeff King <peff@peff.net> writes:
Show 28 quoted lines
> On Fri, Feb 08, 2013 at 04:22:15PM -0800, Junio C Hamano wrote: > >> Junio C Hamano <gitster@pobox.com> writes: >> >> > Thomas Haller <thom311@gmail.com> writes: >> > >> >> it happens in file revision.c:2306 because "commit->buffer" is zero: >> >> >> >> retval = grep_buffer(&opt->grep_filter, >> >> commit->buffer, strlen(commit->buffer)); >> > >> > I think this has been fixed at be5c9fb9049e (logmsg_reencode: lazily >> > load missing commit buffers, 2013-01-26); I haven't merged it to any >> > of the maintenance releases, but the tip of 'master' should have it >> > already. >> >> Ah, no, this shares the same roots as the breakage the said commit >> fixed, and the solution should use the same idea, but not fixed. > > Yeah, I think this needs separate treatment. However, this is a perfect > example of the "case-by-case" I mention in the final two paragraphs > there. > > What's the right encoding to be grepping in? The original, what we will > output in, or even something else? IOW, I wonder if this should be using > logmsg_reencode in the first place (the obvious reason not to want to do > so is speed, but logmsg_reencode is written to only have an impact in > the case that we do indeed need to reencode).
Yeah, that actually is a good point. We should be using logmsg_reencode so that we look for strings in the user's encoding.