From: Juliana Fajardini Date: Mon, 20 Mar 2023 14:56:58 +0000 (-0300) Subject: flow/manager: fix prealloc unhandled division by 0 X-Git-Tag: suricata-7.0.0-rc2~497 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=refs%2Fpull%2F8624%2Fhead;p=thirdparty%2Fsuricata.git flow/manager: fix prealloc unhandled division by 0 If flow.prealloc was set to zero in our yaml config, this led to a floating point exception in the flow manager. Bug: #5919. --- diff --git a/src/flow-manager.c b/src/flow-manager.c index dea1e87041..1150031ffe 100644 --- a/src/flow-manager.c +++ b/src/flow-manager.c @@ -814,7 +814,7 @@ static TmEcode FlowManager(ThreadVars *th_v, void *thread_data) if (ts_ms >= next_run_ms) { if (ftd->instance == 0) { const uint32_t sq_len = FlowSpareGetPoolSize(); - const uint32_t spare_perc = sq_len * 100 / flow_config.prealloc; + const uint32_t spare_perc = sq_len * 100 / MAX(flow_config.prealloc, 1); /* see if we still have enough spare flows */ if (spare_perc < 90 || spare_perc > 110) { FlowSparePoolUpdate(sq_len);