From badf97cd559de5bb2e86e9f37652c3c1eccf3cbe Mon Sep 17 00:00:00 2001 From: David Schultz Date: Sun, 13 Jan 2008 02:11:10 +0000 Subject: [PATCH] Use size_t to avoid overflow when sorting arrays larger than 2 GB. PR: 111085 MFC after: 2 weeks --- lib/libc/stdlib/heapsort.c | 2 +- lib/libc/stdlib/qsort.c | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/libc/stdlib/heapsort.c b/lib/libc/stdlib/heapsort.c index 135c48b5e1e..f65687689c5 100644 --- a/lib/libc/stdlib/heapsort.c +++ b/lib/libc/stdlib/heapsort.c @@ -141,7 +141,7 @@ heapsort(vbase, nmemb, size, compar) size_t nmemb, size; int (*compar)(const void *, const void *); { - int cnt, i, j, l; + size_t cnt, i, j, l; char tmp, *tmp1, *tmp2; char *base, *k, *p, *t; diff --git a/lib/libc/stdlib/qsort.c b/lib/libc/stdlib/qsort.c index 65e038c05d7..0958cd3f0fc 100644 --- a/lib/libc/stdlib/qsort.c +++ b/lib/libc/stdlib/qsort.c @@ -111,7 +111,8 @@ qsort(void *a, size_t n, size_t es, cmp_t *cmp) #endif { char *pa, *pb, *pc, *pd, *pl, *pm, *pn; - int d, r, swaptype, swap_cnt; + size_t d, r; + int swaptype, swap_cnt; loop: SWAPINIT(a, es); swap_cnt = 0;