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)