mergesort: avoid left shift overflow
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@web.de> Signed-off-by: Junio C Hamano <gitster@pobox.com>
This commit is contained in:
parent
c90cfc225b
commit
42c456ff81
@ -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++;
|
||||
|
Loading…
Reference in New Issue
Block a user