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

Re: [PATCH v3] sparse index: fix use-after-free bug in cache_tree_verify()

From
PWPhillip Wood <phillip.wood123@gmail.com>
Date
Oct 14, 2021, 09:40 UTC
Message-ID
<554ebfd6-63bd-50ec-5f55-4b5ea4a9fd03@gmail.com>
In-Reply-To
<905e3d0f-0541-ffad-c05b-e7ebc6bed94c@gmail.com>
Hi Bagas
On 08/10/2021 10:38, Bagas Sanjaya wrote:
Show 24 quoted lines
> On 08/10/21 01.07, Phillip Wood via GitGitGadget wrote:
>> -static void verify_one(struct repository *r,
>> -               struct index_state *istate,
>> -               struct cache_tree *it,
>> -               struct strbuf *path)
>> +/*
>> + * Returns:
>> + *  0 - Verification completed.
>> + *  1 - Restart verification - a call to ensure_full_index() freed 
>> the cache
>> + *      tree that is being verified and verification needs to be 
>> restarted from
>> + *      the new toplevel cache tree.
>> + */
>> +static int verify_one(struct repository *r,
>> +              struct index_state *istate,
>> +              struct cache_tree *it,
>> +              struct strbuf *path)
>>   {
>>       int i, pos, len = path->len;
>>       struct strbuf tree_buf = STRBUF_INIT;
> 
> What is verify_one() doing? I think it worth mentioning it in the 
> comment above.

I think it's pretty obvious if you read the code rather than my patch. It is a common pattern in git that a function with "one" in the name is a helper for another similarly named function without the "one". In this case verify_one() is a recursive helper for cache_tree_verify()

Best Wishes
Phillip
Previous: Bagas SanjayaNext: Phillip Wood via GitGitGadget
Message 22 of 26 in “[RFC] sparse index: fix use-after-free bug in cache_tree_verify()”
  1. [RFC] sparse index: fix use-after-free bug in cache_tree_verify()Phillip Wood via GitGitGadget, Oct 6, 2021
  2. Derrick StoleeOct 6, 2021
  3. Phillip WoodOct 6, 2021
  4. Derrick StoleeOct 6, 2021
  5. Junio C HamanoOct 6, 2021
  6. Derrick StoleeOct 6, 2021
  7. sparse index: fix use-after-free bug in cache_tree_verify()Phillip Wood via GitGitGadget, Oct 7, 2021
  8. Derrick StoleeOct 7, 2021
  9. Phillip WoodOct 7, 2021
  10. Derrick StoleeOct 7, 2021
  11. Phillip WoodOct 7, 2021
  12. Derrick StoleeOct 7, 2021
  13. Phillip WoodOct 7, 2021
  14. sparse index: fix use-after-free bug in cache_tree_verify()Phillip Wood via GitGitGadget, Oct 7, 2021
  15. Junio C HamanoOct 7, 2021
  16. Phillip WoodOct 8, 2021
  17. Derrick StoleeOct 8, 2021
  18. Junio C HamanoOct 8, 2021
  19. Phillip WoodOct 14, 2021
  20. Junio C HamanoOct 14, 2021
  21. Bagas SanjayaOct 8, 2021
  22. Phillip WoodOct 14, 2021
  23. sparse index: fix use-after-free bug in cache_tree_verify()Phillip Wood via GitGitGadget, Oct 16, 2021
  24. Junio C HamanoOct 17, 2021
  25. Derrick StoleeOct 17, 2021
  26. Phillip WoodOct 18, 2021

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.