summaryrefslogtreecommitdiff
path: root/lib/libc/stdlib
diff options
context:
space:
mode:
authorTodd C. Miller <millert@cvs.openbsd.org>2015-06-21 03:20:57 +0000
committerTodd C. Miller <millert@cvs.openbsd.org>2015-06-21 03:20:57 +0000
commit8040328b2c5c3394666d460fdea4f3fabe13803f (patch)
tree251d80c6c7d064f5217556aba53e88e43e84319b /lib/libc/stdlib
parentb8a006201d7f6e48eb06ef69042f09a1e6caddc9 (diff)
Just return if nmemb is 0. Avoids a NULL dereference and is
consistent with the behavior of the other libc sort functions. OK deraadt@
Diffstat (limited to 'lib/libc/stdlib')
-rw-r--r--lib/libc/stdlib/merge.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/libc/stdlib/merge.c b/lib/libc/stdlib/merge.c
index 43ef8b08e26..d60317ce082 100644
--- a/lib/libc/stdlib/merge.c
+++ b/lib/libc/stdlib/merge.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: merge.c,v 1.9 2011/03/06 00:55:38 deraadt Exp $ */
+/* $OpenBSD: merge.c,v 1.10 2015/06/21 03:20:56 millert Exp $ */
/*-
* Copyright (c) 1992, 1993
* The Regents of the University of California. All rights reserved.
@@ -101,6 +101,9 @@ mergesort(void *base, size_t nmemb, size_t size,
return (-1);
}
+ if (nmemb == 0)
+ return (0);
+
/*
* XXX
* Stupid subtraction for the Cray.