From 5baa6c0024c7e49eb28e84546c286a5fd50fe303 Mon Sep 17 00:00:00 2001 From: Juliana Fajardini Date: Mon, 20 Mar 2023 11:56:58 -0300 Subject: [PATCH] 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. --- src/flow-manager.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) 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);