summaryrefslogtreecommitdiff
path: root/src/stdlib/qsort.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stdlib/qsort.c')
-rw-r--r--src/stdlib/qsort.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/stdlib/qsort.c b/src/stdlib/qsort.c
index f5bf3d02..91a3361d 100644
--- a/src/stdlib/qsort.c
+++ b/src/stdlib/qsort.c
@@ -28,7 +28,7 @@ static void sift(char *base, size_t root, size_t nel, size_t width, int (*cmp)(c
max = 2*root;
if (max < nel && cmp(base+max*width, base+(max+1)*width) < 0)
max++;
- if (cmp(base+root*width, base+max*width) < 0) {
+ if (max && cmp(base+root*width, base+max*width) < 0) {
swap(base+root*width, base+max*width, width);
root = max;
} else break;