From 453d28fcc0fa9dcd35ecd0050d8cec395bb161f2 Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Sun, 1 Aug 2021 13:58:34 +0200 Subject: [PATCH] Don't use realloc(p, 0) to mean free() in default regex allocator. --- regexp.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/regexp.c b/regexp.c index 3f6c074..9d16867 100644 --- a/regexp.c +++ b/regexp.c @@ -943,6 +943,10 @@ void regfreex(void *(*alloc)(void *ctx, void *p, int n), void *ctx, Reprog *prog static void *default_alloc(void *ctx, void *p, int n) { + if (n == 0) { + free(p); + return NULL; + } return realloc(p, (size_t)n); }