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

Re: [PATCH v2] diff-delta: use safe integer arithmetic

From
SPSrujith Poojary <poojarysrujith@gmail.com>
Date
Oct 24, 2026, 03:44 UTC
Message-ID
<CABh_KWj9wbanf6MSscwfurkgsaSgJvL_tg17sTt69TfWufnVyQ@mail.gmail.com>
In-Reply-To
<xmqq8q3o5k1q.fsf@gitster.g>
On Sat, Oct 24, 2026 at 12:19 AM Junio C Hamano <gitster@pobox.com> wrote:
Show 13 quoted lines
>
> Phillip Wood <phillip.wood123@gmail.com> writes:
>
> >> +    memsize = st_add3(sizeof(*index),
> >> +                    st_mult(sizeof(*packed_hash), hsize + 1),
> >
> > What are the bounds of hsize? Can adding one to it overflow? The
> > alignment is off here as well, all the arguments to st_add3() should be
> > aligned.
>
> Very good question, and I think hsize is capped at 1^26 in a code
> early in this function, which makes this safe.  It needs to be
> explained why it is safe in the log message, though.
Hi Junio,

Thank you for analyzing the struct alignment and memory allocation limits. I have updated the commit message to explain why st_mult/st_add are necessary on 32-bit platforms due to padding, as well as documenting that hsize + 1 is safe because hsize is capped at 2^26. I also fixed the code formatting using git clang-format HEAD^.

Best regards, Srujith

Previous: Junio C HamanoNext: Srujith A Poojary via GitGitGadget
Message 10 of 31 in “diff-delta: use safe integer arithmetic”
  1. [Outreachy PATCH] diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 23, 2026
  2. Junio C HamanoOct 23, 2026
  3. Srujith PoojaryOct 23, 2026
  4. Junio C HamanoOct 23, 2026
  5. Srujith PoojaryOct 23, 2026
  6. Junio C HamanoOct 23, 2026
  7. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 23, 2026
  8. Phillip WoodOct 23, 2026
  9. Junio C HamanoOct 23, 2026
  10. Srujith PoojaryOct 24, 2026
  11. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 24, 2026
  12. Junio C HamanoOct 24, 2026
  13. Srujith PoojaryOct 24, 2026
  14. Junio C HamanoOct 25, 2026
  15. Srujith PoojaryOct 25, 2026
  16. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 24, 2026
  17. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 25, 2026
  18. Junio C HamanoOct 26, 2026
  19. Srujith PoojaryOct 26, 2026
  20. Srujith PoojaryOct 27, 2026
  21. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 27, 2026
  22. Pablo SabaterOct 27, 2026
  23. Srujith PoojaryOct 27, 2026
  24. Pablo SabaterOct 27, 2026
  25. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 27, 2026
  26. Pablo SabaterOct 27, 2026
  27. Srujith PoojaryOct 27, 2026
  28. Junio C HamanoOct 27, 2026
  29. Srujith PoojaryOct 27, 2026
  30. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 27, 2026
  31. diff-delta: use safe integer arithmeticSrujith A Poojary via GitGitGadget, Oct 27, 2026

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.