From ba035e601e6f5d56a9ce2c5bbb4bb2c2c80d2eca Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Thu, 31 Mar 2016 10:07:01 +0200 Subject: [PATCH] hyperscan: fix minor coverity warning 1358023 *** CID 1358023: Null pointer dereferences (REVERSE_INULL) /src/util-mpm-hs.c: 860 in SCHSDestroyThreadCtx() 854 if (thr_ctx->scratch != NULL) { 855 hs_free_scratch(thr_ctx->scratch); 856 mpm_thread_ctx->memory_cnt--; 857 mpm_thread_ctx->memory_size -= thr_ctx->scratch_size; 858 } 859 >>> CID 1358023: Null pointer dereferences (REVERSE_INULL) >>> Null-checking "mpm_thread_ctx->ctx" suggests that it may be null, but it has already been dereferenced on all paths leading to the check. 860 if (mpm_thread_ctx->ctx != NULL) { 861 SCFree(mpm_thread_ctx->ctx); 862 mpm_thread_ctx->ctx = NULL; 863 mpm_thread_ctx->memory_cnt--; 864 mpm_thread_ctx->memory_size -= sizeof(SCHSThreadCtx); 865 } --- src/util-mpm-hs.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/util-mpm-hs.c b/src/util-mpm-hs.c index be4a93d0cd..c9c92db664 100644 --- a/src/util-mpm-hs.c +++ b/src/util-mpm-hs.c @@ -849,15 +849,15 @@ void SCHSDestroyThreadCtx(MpmCtx *mpm_ctx, MpmThreadCtx *mpm_thread_ctx) { SCHSPrintSearchStats(mpm_thread_ctx); - SCHSThreadCtx *thr_ctx = (SCHSThreadCtx *)mpm_thread_ctx->ctx; + if (mpm_thread_ctx->ctx != NULL) { + SCHSThreadCtx *thr_ctx = (SCHSThreadCtx *)mpm_thread_ctx->ctx; - if (thr_ctx->scratch != NULL) { - hs_free_scratch(thr_ctx->scratch); - mpm_thread_ctx->memory_cnt--; - mpm_thread_ctx->memory_size -= thr_ctx->scratch_size; - } + if (thr_ctx->scratch != NULL) { + hs_free_scratch(thr_ctx->scratch); + mpm_thread_ctx->memory_cnt--; + mpm_thread_ctx->memory_size -= thr_ctx->scratch_size; + } - if (mpm_thread_ctx->ctx != NULL) { SCFree(mpm_thread_ctx->ctx); mpm_thread_ctx->ctx = NULL; mpm_thread_ctx->memory_cnt--; -- 2.47.2