Re: [PATCH] [Outreachy PATCH] diff-delta: use safe integer arithmetic
- From
- Srujith Poojary <poojarysrujith@gmail.com>
- Date
- Oct 23, 2026, 16:56 UTC
- Message-ID
- <CABh_KWgBzCXCSn4FUTSg+rXYj9vm6+AVZnDn3iR_4UJCsB8tjw@mail.gmail.com>
- In-Reply-To
- <xmqqtsmca0yy.fsf@gitster.g>
On Fri, Oct 23, 2026 at 9:00 PM Junio C Hamano <gitster@pobox.com> wrote:
Show 26 quoted lines
> > Srujith Poojary <poojarysrujith@gmail.com> writes: > > > Thank you for clarifying this. You are right—st_add() and st_mult() > > call die() on overflow rather than returning NULL. > > I will update the commit message to accurately reflect this behavior > > and submit v2. > > Please don't, before making sure if it can overflow. With the > number of entries capped like this: > > if (bufsize >= 0xffffffffUL) > entries = 0xfffffffeU / RABIN_WINDOW; > > and then computed > > hsize = entries / 4; > for (i = 4; (1u << i) < hsize; i++); > hsize = 1 << i; > /* allocate lookup index */ > memsize = sizeof(*hash) * hsize + > sizeof(*entry) * entries; > > it may not be possible to overflow size_t even on 32-bit platforms. > I didn't have time to do math yet myself, though. >
Hi Phillip and Junio,
Thank you for the detailed feedback.
I checked the bounds: since entries is capped by (0xffffffu / RABIN_WINDOW), hsize remains small, making a size_t overflow impossible even on 32-bit systems.
I ran git clang-format HEAD^ to fix the code alignment as suggested and updated the patch.
Best regards, Srujith