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

[PATCH 0/3] validate_headref: avoid reading uninitialized bytes

From
Jeff King <peff@peff.net>
Date
Sep 27, 2017, 06:16 UTC
Message-ID
<20170927061644.gwlhxaiairiy2njp@sigill.intra.peff.net>

While looking at read_in_full() callers for a nearby patch series, I noticed this fairly harmless bug. The first patch fixes it, and the other two do some cleanups on top.

I'm tempted to say the whole thing ought to just use a strbuf. We typically only call this function once per program, and git HEAD files are small enough not to worry about. On the other hand, the point of the function is to see if this is in fact a git repository. So in the rare case that we see a file named ".git/HEAD" that's actually a 2GB video file, we'd prefer to find out after reading only 256 bytes, not the whole thing.

  [1/3]: validate_headref: NUL-terminate HEAD buffer
  [2/3]: validate_headref: use skip_prefix for symref parsing
  [3/3]: validate_headref: use get_oid_hex for detached HEADs
 path.c | 23 ++++++++++++-----------
 1 file changed, 12 insertions(+), 11 deletions(-)
-Peff
Next: Jeff King
Message 1 of 8 in “validate_headref: avoid reading uninitialized bytes”
  1. 0/3 validate_headref: avoid reading uninitialized bytesJeff King, Sep 27, 2017
  2. 1/3 validate_headref: NUL-terminate HEAD bufferJeff King, Sep 27, 2017
  3. Junio C HamanoSep 27, 2017
  4. Jeff KingSep 27, 2017
  5. Junio C HamanoSep 27, 2017
  6. 2/3 validate_headref: use skip_prefix for symref parsingJeff King, Sep 27, 2017
  7. Junio C HamanoSep 27, 2017
  8. 3/3 validate_headref: use get_oid_hex for detached HEADsJeff King, Sep 27, 2017

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.