From: Dirk Jagdmann Date: Thu, 26 Dec 2019 04:44:11 +0000 (-0800) Subject: fix NULL pointer use when JIT compiling a regular expression. X-Git-Tag: 2.3~164^2 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=refs%2Fpull%2F3198%2Fhead;p=rspamd.git fix NULL pointer use when JIT compiling a regular expression. --- 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); } }