From a4a3b4efced9751e3dfc2ea6cdc92eb759c899a8 Mon Sep 17 00:00:00 2001 From: "Harper, Jason M" Date: Wed, 12 Nov 2025 07:24:20 -0800 Subject: [PATCH 1/2] fix: pad core frequencies to length of frequency buckets Signed-off-by: Harper, Jason M --- internal/report/table_helpers.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/internal/report/table_helpers.go b/internal/report/table_helpers.go index c9d49bde..9919cc71 100644 --- a/internal/report/table_helpers.go +++ b/internal/report/table_helpers.go @@ -217,6 +217,18 @@ func getBucketSizesFromHex(hex string) ([]int, error) { return bucketSizes, nil } +// padFrequencies adds items to the frequencies slice until it reaches the desired length. +// The value of the added items is the same as the last item in the original slice. +func padFrequencies(freqs []int, desiredLength int) ([]int, error) { + if len(freqs) == 0 { + return nil, fmt.Errorf("cannot pad empty frequencies slice") + } + for len(freqs) < desiredLength { + freqs = append(freqs, freqs[len(freqs)-1]) + } + return freqs, nil +} + // getSpecFrequencyBuckets // returns slice of rows // first row is header @@ -304,6 +316,12 @@ func getSpecFrequencyBuckets(outputs map[string]script.ScriptOutput) ([][]string freqs[i] = 0 } } + if len(freqs) != len(bucketCoreCounts) { + freqs, err = padFrequencies(freqs, len(bucketCoreCounts)) + if err != nil { + return nil, fmt.Errorf("failed to pad frequencies: %w", err) + } + } for _, freq := range freqs { // convert freq to GHz freqf := float64(freq) / 10.0 From a9c3dd75374d9d7525fe79268b23dcf64528a4a3 Mon Sep 17 00:00:00 2001 From: "Harper, Jason M" Date: Wed, 12 Nov 2025 07:29:46 -0800 Subject: [PATCH 2/2] fix: add index range check for isa frequencies in getSpecFrequencyBuckets Signed-off-by: Harper, Jason M --- internal/report/table_helpers.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/internal/report/table_helpers.go b/internal/report/table_helpers.go index 9919cc71..63c84e0d 100644 --- a/internal/report/table_helpers.go +++ b/internal/report/table_helpers.go @@ -357,6 +357,9 @@ func getSpecFrequencyBuckets(outputs map[string]script.ScriptOutput) ([][]string if isaFreqs[0] == "0.0" { continue } else { + if i >= len(isaFreqs) { + return nil, fmt.Errorf("index out of range for isa frequencies") + } row = append(row, isaFreqs[i]) } }