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

Re: [PATCH 3/6] revert: fix buffer overflow in insn sheet parser

From
Jonathan Nieder <jrnieder@gmail.com>
Date
Oct 20, 2011, 09:09 UTC
Message-ID
<20111020090912.GA21471@elie.hsd1.il.comcast.net>
In-Reply-To
<4E9FE061.3080601@gmail.com>
Ramkumar Ramachandra wrote:
Show 7 quoted lines
> Okay.  How about putting this after 5/6?
>
> -- 8< --
> Subject: [PATCH] t3510: guard against buffer overflows in parser
> 
> To guard against a buffer overflow in the parser, verify that
> instruction sheets with overly long object names are parsed.

Looks good, except I would explain it differently, to avoid referring to hypothetical implementation details ("What buffer overflow?"):

	test: git cherry-pick --continue should cope with long object names
	A naive implementation that uses a commit-id-shaped buffer
	to store the word after "pick" in .git/sequencer/todo lines
	would crash often.  Our implementation is not so naive, but
	add a test anyway to futureproof it.
Or:
	test: make sure the "cherry-pick --continue" buffer overflow doesn't come back
	Before commit ..., "git cherry-pick --continue" would overflow
	under ... circumstance.  Add a test to make sure it doesn't
	happen again.

Though the implementation is actually better than that --- it can even cope with a valid object name (e.g., a long name of a branch, or something like "HEAD^{/refs.c: ensure struct whose member}") that is that long, without truncating it. So if you have time for it, I think it would be worth a test where the "git cherry-pick --continue" succeeds, too.

Thanks, Jonathan

Previous: Ramkumar RamachandraNext: Ramkumar Ramachandra
Message 8 of 16 in “Sequencer fixups mini-series”
  1. 0/6 Sequencer fixups mini-seriesRamkumar Ramachandra, Oct 19, 2011
  2. 1/6 revert: free msg in format_todo()Ramkumar Ramachandra, Oct 19, 2011
  3. 2/6 revert: simplify getting commit subject in format_todo()Ramkumar Ramachandra, Oct 19, 2011
  4. 3/6 revert: fix buffer overflow in insn sheet parserRamkumar Ramachandra, Oct 19, 2011
  5. Junio C HamanoOct 20, 2011
  6. Jonathan NiederOct 20, 2011
  7. Ramkumar RamachandraOct 20, 2011
  8. Jonathan NiederOct 20, 2011
  9. Ramkumar RamachandraOct 20, 2011
  10. Junio C HamanoOct 20, 2011
  11. Jonathan NiederOct 20, 2011
  12. Junio C HamanoOct 20, 2011
  13. Ramkumar RamachandraOct 22, 2011
  14. 4/6 revert: make commit subjects in insn sheet optionalRamkumar Ramachandra, Oct 19, 2011
  15. 5/6 revert: allow mixed pick and revert instructionsRamkumar Ramachandra, Oct 19, 2011
  16. 6/6 revert: simplify communicating command-line argumentsRamkumar Ramachandra, Oct 19, 2011

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.