Browse Source

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>
pull/790/merge
René Scharfe 9 months ago committed by Junio C Hamano
parent
commit
42c456ff81
  1. 2
      mergesort.c

2
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++;

Loading…
Cancel
Save