Mercurial > irccd
comparison extern/libbsd/reallocarray.c @ 1079:8f26ee9cc6dd
misc: unconditionnally add BSD->POSIX extensions
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 16 Jul 2021 20:18:29 +0200 |
parents | 69b90a8d4d35 |
children |
comparison
equal
deleted
inserted
replaced
1078:d0adbcc0768e | 1079:8f26ee9cc6dd |
---|---|
25 * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW | 25 * if both s1 < MUL_NO_OVERFLOW and s2 < MUL_NO_OVERFLOW |
26 */ | 26 */ |
27 #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) | 27 #define MUL_NO_OVERFLOW ((size_t)1 << (sizeof(size_t) * 4)) |
28 | 28 |
29 void * | 29 void * |
30 reallocarray(void *optr, size_t nmemb, size_t size) | 30 openbsd_reallocarray(void *optr, size_t nmemb, size_t size) |
31 { | 31 { |
32 if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && | 32 if ((nmemb >= MUL_NO_OVERFLOW || size >= MUL_NO_OVERFLOW) && |
33 nmemb > 0 && SIZE_MAX / nmemb < size) { | 33 nmemb > 0 && SIZE_MAX / nmemb < size) { |
34 errno = ENOMEM; | 34 errno = ENOMEM; |
35 return NULL; | 35 return NULL; |