git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] fsck: avoid looking at NULL blob->object

From
Duy Nguyen <pclouds@gmail.com>
Date
Jun 9, 2018, 08:45 UTC
Message-ID
<CACsJy8Cpd_0CR9F_xyQfcw0j8ceOf777KcWXLHuxY1NxmRnXqw@mail.gmail.com>
In-Reply-To
<20180609083159.GA6158@sigill.intra.peff.net>
On Sat, Jun 9, 2018 at 10:34 AM Jeff King <peff@peff.net> wrote:
Show 19 quoted lines
>
> Commit 159e7b080b (fsck: detect gitmodules files,
> 2018-05-02) taught fsck to look at the content of
> .gitmodules files. If the object turns out not to be a blob
> at all, we just complain and punt on checking the content.
> And since this was such an obvious and trivial code path, I
> didn't even bother to add a test.
>
> Except it _does_ do one non-trivial thing, which is call the
> report() function, which wants us to pass a pointer to a
> "struct object". Which we don't have (we have only a "struct
> object_id"). So we erroneously passed the NULL object, which
> ends up segfaulting.
>
> It seems like we could refactor report() to just take the
> object_id itself. But we pass the object pointer along to
> a callback function, and indeed this ends up in
> builtin/fsck.c's objreport() which does want to look at
> other parts of the object (like the type).

And objreport() can handle OBJ_NONE well, which is the type given by lookup_unknown_object(). So yeah this looks good.

> So instead, let's just use lookup_unknown_object() to get
> the real "struct object", and pass that.
-- 
Duy
Previous: Jeff KingNext: Jeff King
Message 4 of 17 in “fsck: avoid looking at NULL blob->object”
  1. fsck: avoid looking at NULL blob->objectJeff King, Jun 9, 2018
  2. Eric SunshineJun 9, 2018
  3. Jeff KingJun 9, 2018
  4. Duy NguyenJun 9, 2018
  5. Jeff KingJun 9, 2018
  6. Martin ÅgrenJun 9, 2018
  7. Jeff KingJun 9, 2018
  8. Martin ÅgrenJun 9, 2018
  9. Jeff KingJun 12, 2018
  10. 0/2 .gitmodules fsck cleanupsJeff King, Jun 9, 2018
  11. 1/2 t7415: don't bother creating commit for symlink testJeff King, Jun 9, 2018
  12. SZEDER GáborJun 9, 2018
  13. 0/2 .gitmodules fsck cleanupsJeff King, Jun 11, 2018
  14. 1/2 t7415: don't bother creating commit for symlink testJeff King, Jun 11, 2018
  15. 2/2 fsck: avoid looking at NULL blob->objectJeff King, Jun 11, 2018
  16. 2/2 fsck: avoid looking at NULL blob->objectJeff King, Jun 9, 2018
  17. SZEDER GáborJun 9, 2018

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.