< prev index next >
src/java.desktop/share/native/libsplashscreen/giflib/openbsd-reallocarray.c
Print this page
@@ -42,18 +42,22 @@
#include <sys/types.h>
#include <errno.h>
#include <stdint.h>
#include <stdlib.h>
+#ifndef SIZE_MAX
+ #define SIZE_MAX UINTPTR_MAX
+#endif
+
/*
* This is sqrt(SIZE_MAX+1), as s1*s2 <= SIZE_MAX
* if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW
*/
#define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4))
void *
-reallocarray(void *optr, size_t nmemb, size_t size)
+openbsd_reallocarray(void *optr, size_t nmemb, size_t size)
{
if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) &&
nmemb > 0 && SIZE_MAX / nmemb < size) {
errno = ENOMEM;
return NULL;
< prev index next >