summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2002-07-31 09:19:05 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2002-07-31 09:19:05 +0000
commita3c74a24f70a546b0457d0d93a3e22be904b3e31 (patch)
tree5fab3a7c54281b4d21184a0b7253de848efc77d8
parent926097749cd0c06158a31001abc721359e5c4dcf (diff)
permit calloc(0, N) and calloc(N, 0) -- malloc(0) does the right thing; markus miod ok
-rw-r--r--lib/libc/stdlib/calloc.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/libc/stdlib/calloc.c b/lib/libc/stdlib/calloc.c
index c53b22b4310..c75b256d146 100644
--- a/lib/libc/stdlib/calloc.c
+++ b/lib/libc/stdlib/calloc.c
@@ -32,7 +32,7 @@
*/
#if defined(LIBC_SCCS) && !defined(lint)
-static char *rcsid = "$OpenBSD: calloc.c,v 1.6 2002/07/30 00:11:07 deraadt Exp $";
+static char *rcsid = "$OpenBSD: calloc.c,v 1.7 2002/07/31 09:19:04 deraadt Exp $";
#endif /* LIBC_SCCS and not lint */
#include <stdlib.h>
@@ -47,7 +47,7 @@ calloc(num, size)
{
register void *p;
- if (SIZE_T_MAX / num < size) {
+ if (num && size && SIZE_T_MAX / num < size) {
errno = ENOMEM;
return NULL;
}