From 89e6c7b841aa2c56388b8026904f7bc713a2ba9c Mon Sep 17 00:00:00 2001 From: Dirk Jagdmann Date: Wed, 25 Dec 2019 20:44:11 -0800 Subject: [PATCH] fix NULL pointer use when JIT compiling a regular expression. --- src/libutil/regexp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/libutil/regexp.c b/src/libutil/regexp.c index 9bef43501..f36bd04f9 100644 --- a/src/libutil/regexp.c +++ b/src/libutil/regexp.c @@ -199,7 +199,7 @@ rspamd_regexp_post_process (rspamd_regexp_t *r) pcre2_jit_stack_assign (r->mcontext, NULL, global_re_cache->jstack); } - if (r->re != r->raw_re && !(r->flags & RSPAMD_REGEXP_FLAG_DISABLE_JIT)) { + if (r->raw_re && r->re != r->raw_re && !(r->flags & RSPAMD_REGEXP_FLAG_DISABLE_JIT)) { if (pcre2_jit_compile (r->raw_re, jit_flags) < 0) { msg_debug ("jit compilation of %s is not supported", r->pattern); r->flags |= RSPAMD_REGEXP_FLAG_DISABLE_JIT; @@ -209,6 +209,7 @@ rspamd_regexp_post_process (rspamd_regexp_t *r) msg_debug ("jit compilation of raw %s is not supported", r->pattern); } else if (!(r->flags & RSPAMD_REGEXP_FLAG_DISABLE_JIT)) { + g_assert (r->raw_mcontext != NULL); pcre2_jit_stack_assign (r->raw_mcontext, NULL, global_re_cache->jstack); } } -- 2.39.5