Re: git log - crash and core dump
- From
Jeff King <peff@peff.net>
- Date
- Apr 16, 2013, 21:34 UTC
- Message-ID
- <20130416213414.GA11229@sigill.intra.peff.net>
- In-Reply-To
- <7v61zml0ow.fsf@alter.siamese.dyndns.org>
On Tue, Apr 16, 2013 at 12:45:03PM -0700, Junio C Hamano wrote:
Show 40 quoted lines
> René Scharfe <rene.scharfe@lsrfire.ath.cx> writes:
>
> > Does this patch help?
> >
> > pretty.c | 10 ++++++----
> > 1 file changed, 6 insertions(+), 4 deletions(-)
> >
> > diff --git a/pretty.c b/pretty.c
> > index d3a82d2..713eefc 100644
> > --- a/pretty.c
> > +++ b/pretty.c
> > @@ -405,8 +405,8 @@ void pp_user_info(const struct pretty_print_context *pp,
> > const char *mailbuf, *namebuf;
> > size_t namelen, maillen;
> > int max_length = 78; /* per rfc2822 */
> > - unsigned long time;
> > - int tz;
> > + unsigned long time = 0;
> > + int tz = 0;
> >
> > if (pp->fmt == CMIT_FMT_ONELINE)
> > return;
> > @@ -438,8 +438,10 @@ void pp_user_info(const struct pretty_print_context *pp,
> > strbuf_add(&name, namebuf, namelen);
> >
> > namelen = name.len + mail.len + 3; /* ' ' + '<' + '>' */
> > - time = strtoul(ident.date_begin, &date, 10);
> > - tz = strtol(date, NULL, 10);
> > + if (ident.date_begin) {
> > + time = strtoul(ident.date_begin, &date, 10);
> > + tz = strtol(date, NULL, 10);
> > + }
> >
> > if (pp->fmt == CMIT_FMT_EMAIL) {
> > strbuf_addstr(sb, "From: ");
>
> Looks like a sensible change. split_ident_line() decided that the
> given input was mangled and decided there is no valid date (the
> input had <> where the timestamp string was required), so the
> updated code leaves the time/tz unspecified.Hmm. This seemed oddly familiar to me, and indeed:
http://thread.gmane.org/gmane.comp.version-control.git/216870/focus=217077
We need to fix blame, too, and there is a question of how "cat-file -p" behaves.
-Peff