summaryrefslogtreecommitdiff
path: root/ext/pcre/pcre2lib/pcre2_jit_misc.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pcre/pcre2lib/pcre2_jit_misc.c')
-rw-r--r--ext/pcre/pcre2lib/pcre2_jit_misc.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/ext/pcre/pcre2lib/pcre2_jit_misc.c b/ext/pcre/pcre2lib/pcre2_jit_misc.c
index efdb05580f..36abdbaf9c 100644
--- a/ext/pcre/pcre2lib/pcre2_jit_misc.c
+++ b/ext/pcre/pcre2lib/pcre2_jit_misc.c
@@ -145,6 +145,11 @@ maxsize = (maxsize + STACK_GROWTH_RATE - 1) & ~(STACK_GROWTH_RATE - 1);
jit_stack = PRIV(memctl_malloc)(sizeof(pcre2_real_jit_stack), (pcre2_memctl *)gcontext);
if (jit_stack == NULL) return NULL;
jit_stack->stack = sljit_allocate_stack(startsize, maxsize, &jit_stack->memctl);
+if (jit_stack->stack == NULL)
+ {
+ jit_stack->memctl.free(jit_stack, jit_stack->memctl.memory_data);
+ return NULL;
+ }
return jit_stack;
#endif