From f0f3a5c10cea45acb3b0edb2d19320f8409f35fb Mon Sep 17 00:00:00 2001 From: Jan Hoffmann Date: Tue, 4 Feb 2025 19:25:19 +0100 Subject: [PATCH] Always reset bins history when loading data Fixes a possible crash on update, which happens if an empty history was previously loaded, and the SNR data in the update is also empty. --- history/bins_storage.go | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/history/bins_storage.go b/history/bins_storage.go index 94cd2eb..456bd36 100644 --- a/history/bins_storage.go +++ b/history/bins_storage.go @@ -173,15 +173,17 @@ func (h *Bins) readBinsSNRMinMax(r io.Reader, data *snrMinMax) error { return err } + // Ensure that data structures are initialized + + data.Reset(int(header.OriginalGroupSize), int(header.OriginalCount), + h.config.MaxBinCount, h.config.PeriodCount) + // Read data if available if header.OriginalGroupSize == 0 || header.OriginalCount == 0 { return nil } - data.Reset(int(header.OriginalGroupSize), int(header.OriginalCount), - h.config.MaxBinCount, h.config.PeriodCount) - if h.config.PeriodCount > 0 { for i := 0; i < h.config.PeriodCount; i++ { err = h.readBinsFloatMinMax(r, &data.Periods[i])