Re: [PATCH] mergesort: avoid left shift overflow

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

 



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?

Ciao,
Dscho

[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