commit bdf42537c5792f6beb0360517ff378834cfd8a68 Author: robert <robertrussell.72...@gmail.com> AuthorDate: Sat Jul 30 14:29:05 2022 -0700 Commit: Laslo Hunhold <d...@frign.de> CommitDate: Sun Jul 31 11:41:08 2022 +0200
Add reallocarray implementation reallocarray is nonstandard and glibc declares it only when _GNU_SOURCE is defined. Without this patch or _GNU_SOURCE (for glibc < 2.29) defined, you get a segfault from reallocarray being implicitly declared with the wrong signature. Signed-off-by: Laslo Hunhold <d...@frign.de> diff --git a/gen/util.c b/gen/util.c index d234ddd..c97a1ea 100644 --- a/gen/util.c +++ b/gen/util.c @@ -31,6 +31,16 @@ struct break_test_payload size_t *testlen; }; +static void * +reallocarray(void *p, size_t len, size_t size) +{ + if (len > 0 && size > SIZE_MAX/len) { + errno = ENOMEM; + return NULL; + } + return realloc(p, len*size); +} + int hextocp(const char *str, size_t len, uint_least32_t *cp) {