git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Stefan Sperling <stsp@stsp.name>
Cc: "René Scharfe" <l.s.r@web.de>, git@vger.kernel.org
Subject: Re: [PATCH] fix segv with corrupt tag object
Date: Mon, 26 Aug 2019 10:20:20 -0700	[thread overview]
Message-ID: <xmqqo90bhmi3.fsf@gitster-ct.c.googlers.com> (raw)
In-Reply-To: <20190826115715.GB71935@jessup.stsp.name> (Stefan Sperling's message of "Mon, 26 Aug 2019 13:57:15 +0200")

Stefan Sperling <stsp@stsp.name> writes:

> The root cause of this bug seems to be that the valid assumption
> that obj->parsed implies a successfully parsed object is broken by
> parse_tag_buffer() because this function sets the 'parsed' flag even
> if errors occur during parsing.

I am mildly negative about that approach.  obj->parsed is about
"we've done all we need to do to attempt parsing this object" (so
that next person who gets hold of the object knows that fact---one
of the reasons why may be that the caller who wants to ensure that
the fields are ready to be accessed does not have to spend extra
cycles, but that is not the only one).  Those that want to look at
various fields in the object (e.g. the tagged object of a tag, the
tagger identity of a tag, etc.) should be prepared to see and react
to NULL in there so that they can gracefully handle "slightly"
corrupt objects.


  reply	other threads:[~2019-08-26 17:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-08-24 23:09 [PATCH] fix segv with corrupt tag object Stefan Sperling
2019-08-25  7:52 ` René Scharfe
2019-08-26 11:57   ` Stefan Sperling
2019-08-26 17:20     ` Junio C Hamano [this message]
2019-08-26 18:02       ` Stefan Sperling
2019-08-26 18:18       ` Jeff King
2019-08-29 19:06       ` René Scharfe
2019-08-30 16:29         ` Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqo90bhmi3.fsf@gitster-ct.c.googlers.com \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=l.s.r@web.de \
    --cc=stsp@stsp.name \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).