Module Name:    src
Committed By:   christos
Date:           Tue Mar 10 13:05:13 UTC 2015

Modified Files:
        src/lib/libc/stdlib: reallocarray.c

Log Message:
Behave in an OpenBSD compatible way for 0.


To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/lib/libc/stdlib/reallocarray.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/lib/libc/stdlib/reallocarray.c
diff -u src/lib/libc/stdlib/reallocarray.c:1.3 src/lib/libc/stdlib/reallocarray.c:1.4
--- src/lib/libc/stdlib/reallocarray.c:1.3	Tue Feb 17 15:44:42 2015
+++ src/lib/libc/stdlib/reallocarray.c	Tue Mar 10 09:05:13 2015
@@ -30,7 +30,7 @@
  */
 #define _OPENBSD_SOURCE
 #include <sys/cdefs.h>
-__RCSID("$NetBSD: reallocarray.c,v 1.3 2015/02/17 20:44:42 christos Exp $");
+__RCSID("$NetBSD: reallocarray.c,v 1.4 2015/03/10 13:05:13 christos Exp $");
 
 #define _OPENBSD_SOURCE
 #include <errno.h>
@@ -39,6 +39,9 @@ __RCSID("$NetBSD: reallocarray.c,v 1.3 2
 void *
 reallocarray(void *optr, size_t nmemb, size_t size)
 {
+	if (nmemb == 0 || size == 0)
+		return realloc(optr, 0);
+
 	int e = reallocarr(&optr, nmemb, size);
 
 	if (e == 0)

Reply via email to