Re: [PATCH v6] diff-delta: use safe integer arithmetic
- From
Pablo Sabater <pabloosabaterr@gmail.com>
- Date
- Oct 27, 2026, 11:32 UTC
- Message-ID
- <DMFL6539NDIW.2LN0YXSJH5VT9@gmail.com>
- In-Reply-To
- <CABh_KWhac74wQY3sTAFp7f_9CKKAmBWcE9wir4_1i7iZqsq8fw@mail.gmail.com>
On Tue Oct 27, 2026 at 11:01 AM WET, Srujith Poojary wrote:
Show 26 quoted lines
> On Tue, Oct 27, 2026 at 4:03 PM Pablo Sabater <pabloosabaterr@gmail.com> wrote:
>>
>> On Tue Oct 27, 2026 at 4:51 AM WET, Srujith A Poojary via GitGitGadget wrote:
>> > From: Srujith A Poojary <poojarysrujith@gmail.com>
>> >
>> [snip]
>> >
>> > For the unpacked index allocation:
>> > - sizeof(struct unpacked_index_entry) is 12 bytes on 32-bit systems,
>> > which may be padded to 16 bytes depending on compiler alignment rules.
>>
>> l 117-125 'diff-delta.c'
>>
>> struct index_entry {
>> const unsigned char *ptr;
>> unsigned int val;
>> };
>>
>> struct unpacked_index_entry {
>> struct index_entry entry;
>> struct unpacked_index_entry *next;
>> };
>>
>> On 32 bit systems we have 4 bytes ptr + 4 bytes uint + 4 bytes ptr. I
>> don't see how it could be padded to 16.
>>[snip]
> Hi Pablo, > > Thank you for reviewing the code and catching that! You are completely > right—on 32-bit systems, the fields sum up cleanly to 16 bytes without
12 bytes, not 16.
Show 6 quoted lines
> needing extra alignment padding. > I have updated the commit message in v7 to reflect your exact > breakdown. Thanks again for the thorough check! > > Best regards, > Srujith
Regards, Pablo.