Re: [PATCH] mergesort: avoid left shift overflow

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 19/11/2021 16:51, Johannes Schindelin wrote:
> Hi Philip,
>
> On Thu, 18 Nov 2021, Philip Oakley wrote:
>
>> On 15/11/2021 23:19, René Scharfe wrote:
>>> Use size_t to match n when building the bitmask for checking whether a
>>> rank is occupied, instead of the default signed int.
>>>
>>> Signed-off-by: René Scharfe <l.s.r@xxxxxx>
>>> ---
>>> Ugh, sorry. :(
>>>
>>>  mergesort.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/mergesort.c b/mergesort.c
>>> index 6216835566..bd9c6ef8ee 100644
>>> --- a/mergesort.c
>>> +++ b/mergesort.c
>>> @@ -63,7 +63,7 @@ void *llist_mergesort(void *list,
>>>  		void *next = get_next_fn(list);
>>>  		if (next)
>>>  			set_next_fn(list, NULL);
>>> -		for (i = 0; n & (1 << i); i++)
>>> +		for (i = 0; n & ((size_t)1 << i); i++)
>>>  			list = llist_merge(ranks[i], list, get_next_fn,
>>>  					   set_next_fn, compare_fn);
>>>  		n++;
>>> --
>>> 2.33.1
>> Looks good to me.
>>
>> I already had this locally as part of an MSVC (Visual Studio) fix for
>> the various C4334 warnings.
>>
>> The other cases are in object-file.c, diffcore-delta.c (2 occurrences) ,
>> and repack.c.
>>
>> My patches are in https://github.com/PhilipOakley/git/tree/oneU_t
> How about rebasing the remaining patches from
> https://github.com/git-for-windows/git/compare/main...PhilipOakley:oneU_t
> on top of `rs/mergesort` and then submitting them, to avoid duplicate
> efforts?
>
I'm not finding a `rs/mergesort` at the  moment. Any particular remote I
should find it on, or maybe a different spelling?
P.



[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux