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

Re: [PATCH 2/2] fsck: detect and warn a commit with embedded NUL

From
Jeff King <peff@peff.net>
Date
Apr 14, 2016, 18:29 UTC
Message-ID
<20160414182900.GD22068@sigill.intra.peff.net>
In-Reply-To
<xmqq1t68gi92.fsf@gitster.mtv.corp.google.com>
On Thu, Apr 14, 2016 at 11:25:29AM -0700, Junio C Hamano wrote:
Show 8 quoted lines
> > You need this "buffer_begin" because we move the "buffer" pointer
> > forward as we parse. But perhaps whole-buffer checks should simply go at
> > the top (next to verify_headers) before we start advancing the pointer.
> > To me, that makes the function's flow more natural.
> 
> That was my second iteration.  I didn't want the function return
> with warning without checking more serious errors that may be in the
> object.

Ah, I didn't consider that. In general I'm not sure the distinction between "warning" and "error" is all that important, or has been applied all that consistently. transfer.fsckObjects will barf on either.

But I do agree in general that we should be checking as many things as we can. And that we are already wrong to return an error immediately when verify_headers() complains. We should be accumulating problems in an error code and progressing as far as possible. I think fsck_tree() is a good example of how to do this.

-Peff
Previous: Junio C HamanoNext: Junio C Hamano
Message 5 of 13 in “fsck_commit_buffer(): do not special case the last validation”
  1. 1/2 fsck_commit_buffer(): do not special case the last validationJunio C Hamano, Apr 14, 2016
  2. 2/2 fsck: detect and warn a commit with embedded NULJunio C Hamano, Apr 14, 2016
  3. Jeff KingApr 14, 2016
  4. Junio C HamanoApr 14, 2016
  5. Jeff KingApr 14, 2016
  6. Junio C HamanoApr 14, 2016
  7. Jeff KingApr 14, 2016
  8. Junio C HamanoApr 14, 2016
  9. Johannes SchindelinApr 15, 2016
  10. Jeff KingApr 14, 2016
  11. Junio C HamanoApr 14, 2016
  12. Johannes SchindelinApr 15, 2016
  13. Junio C HamanoApr 15, 2016

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.