Re: [PATCH v2 4/5] Make sequencer abort safer
- From
Jeff King <peff@peff.net>
- Date
- Dec 10, 2016, 20:04 UTC
- Message-ID
- <20161210200437.ijmahia6e6xifhk6@sigill.intra.peff.net>
- In-Reply-To
- <CAP8UFD0hCke_W6C=gOHinpj+G3WCFKf7Cji6zREDer4RUBxKxg@mail.gmail.com>
On Sat, Dec 10, 2016 at 08:56:26PM +0100, Christian Couder wrote:
Show 24 quoted lines
> > +static int rollback_is_safe(void)
> > +{
> > + struct strbuf sb = STRBUF_INIT;
> > + struct object_id expected_head, actual_head;
> > +
> > + if (strbuf_read_file(&sb, git_path_abort_safety_file(), 0) >= 0) {
> > + strbuf_trim(&sb);
> > + if (get_oid_hex(sb.buf, &expected_head)) {
> > + strbuf_release(&sb);
> > + die(_("could not parse %s"), git_path_abort_safety_file());
> > + }
> > + strbuf_release(&sb);
> > + }
>
> Maybe the following is a bit simpler:
>
> if (strbuf_read_file(&sb, git_path_abort_safety_file(), 0) >= 0) {
> int res;
> strbuf_trim(&sb);
> res = get_oid_hex(sb.buf, &expected_head);
> strbuf_release(&sb);
> if (res)
> die(_("could not parse %s"), git_path_abort_safety_file());
> }Is there any point in calling strbuf_release() if we're about to die anyway? I could see it if it were "return error()", but it's normal in our code base for die() to be abrupt.
-Peff