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

Re: Infinite loop + memory leak in annotate_refs_with_symref_info

From
brian m. carlson <sandals@crustytoothpaste.net>
Date
Apr 12, 2023, 00:53 UTC
Message-ID
<ZDYBJwCuXD6UCI5p@tapette.crustytoothpaste.net>
In-Reply-To
<ZDXCKecwxo36fALm@nand.local>
On 2023-04-11 at 20:25:13, Taylor Blau wrote:
Show 17 quoted lines
> Hi Jonas,
> 
> On Tue, Apr 11, 2023 at 10:53:59PM +0300, Jonas Haag wrote:
> > Hello!
> >
> > There is an infinite loop with an accompanying memory leak in
> > annotate_refs_with_symref_info that was introduced in Git 2.28 (I
> > think in commit 2c6a403: “connect: add function to parse multiple v1
> > capability values”).
> 
> I'm not familiar with Klaus and don't have it installed, but a couple of
> questions: were you able to reproduce this result with any other forges
> or tools, and were you able to confirm that 2c6a403 is the culprit via a
> bisection?
> 
> In case the answer to the latter question is "yes", I cc'd brian carlson
> on this thread, since they are the original author of that patch.

I may be the author of the patch, but I honestly don't remember much about that code except that it was a bear to write, and I am honestly not terribly surprised that it came out less than perfect. I do apologize for the buggy code, though.

It looks like Peff has come up with a patch downthread, and a test even, which I think will probably fix the problem, so I'll refrain from sending one myself for now.

-- 
brian m. carlson (he/him or they/them)
Toronto, Ontario, CA
Previous: Taylor BlauNext: Jeff King
Message 4 of 30 in “Infinite loop + memory leak in annotate_refs_with_symref_info”
  1. Jonas HaagApr 11, 2023
  2. Taylor BlauApr 11, 2023
  3. Taylor BlauApr 11, 2023
  4. brian m. carlsonApr 12, 2023
  5. Jeff KingApr 11, 2023
  6. Jeff KingApr 11, 2023
  7. Taylor BlauApr 11, 2023
  8. Jeff KingApr 11, 2023
  9. Junio C HamanoApr 11, 2023
  10. 0/7 v0 multiple-symref infinite loop fix and test cleanupJeff King, Apr 12, 2023
  11. 1/7 v0 protocol: fix infinite loop when parsing multi-valued capabilitiesJeff King, Apr 12, 2023
  12. Jeff KingApr 12, 2023
  13. 1/7 v0 protocol: fix infinite loop when parsing multi-valued capabilitiesJeff King, Apr 12, 2023
  14. Jeff KingApr 12, 2023
  15. 2/7 t5512: stop referring to "v1" protocolJeff King, Apr 12, 2023
  16. 3/7 t5512: stop using jgit for capabilities^{} testJeff King, Apr 12, 2023
  17. Jeff KingApr 12, 2023
  18. 0/7 v0 multiple-symref infinite loop fix and test cleanupJeff King, Apr 14, 2023
  19. 1/7 v0 protocol: fix infinite loop when parsing multi-valued capabilitiesJeff King, Apr 14, 2023
  20. 2/7 t5512: stop referring to "v1" protocolJeff King, Apr 14, 2023
  21. 3/7 v0 protocol: fix sha1/sha256 confusion for capabilities^{}Jeff King, Apr 14, 2023
  22. 5/7 t5512: allow any protocol version for filtered symref testJeff King, Apr 14, 2023
  23. 4/7 t5512: add v2 support for "ls-remote --symref" testJeff King, Apr 14, 2023
  24. 6/7 t5512: test "ls-remote --heads --symref" filtering with v0 and v2Jeff King, Apr 14, 2023
  25. 7/7 v0 protocol: use size_t for capability length/offsetJeff King, Apr 14, 2023
  26. Junio C HamanoApr 17, 2023
  27. 4/7 t5512: add v2 support for "ls-remote --symref" testJeff King, Apr 12, 2023
  28. 5/7 t5512: allow any protocol version for filtered symref testJeff King, Apr 12, 2023
  29. 6/7 t5512: test "ls-remote --heads --symref" filtering with v0 and v2Jeff King, Apr 12, 2023
  30. 7/7 v0 protocol: use size_t for capability length/offsetJeff King, Apr 12, 2023

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.