]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Fix] Validate batch_size to prevent loop error with invalid input
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 8 Nov 2025 15:43:49 +0000 (15:43 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sat, 8 Nov 2025 15:43:49 +0000 (15:43 +0000)
Clamp batch_size to minimum of 1 to prevent Lua error 'bad for step'
when user provides --batch-size 0 or negative values. Previously this
would crash the tool; now it processes with batch_size=1.

lualib/rspamadm/dmarc_report.lua

index 7f59b969832916f765d246730649c707a35a7cd4..cddcc34ee737f47970de412bd0af6c4f590934b9 100644 (file)
@@ -609,7 +609,7 @@ local function process_report_date(opts, start_time, end_time, date)
 
   -- Process reports in batches to limit Redis connections
   local reports = {}
-  local batch_size = opts.batch_size or 10
+  local batch_size = math.max(1, opts.batch_size or 10)
 
   for batch_start = 1, #results, batch_size do
     local batch_end = math.min(batch_start + batch_size - 1, #results)