From c7b89a6a5146ffa5b4abd8ab570dba61af2df8c9 Mon Sep 17 00:00:00 2001 From: Rhys Hiltner Date: Fri, 24 Feb 2023 10:57:57 -0800 Subject: [PATCH] perffile: fix loop scoping bug The scoping bug causes incorrect interpretation of perf.data files that include more than one kind of sample, through every entry in File.idToAttr pointing to a single shared value. --- perffile/reader.go | 1 + 1 file changed, 1 insertion(+) diff --git a/perffile/reader.go b/perffile/reader.go index 866f259..95f404b 100644 --- a/perffile/reader.go +++ b/perffile/reader.go @@ -104,6 +104,7 @@ func New(r io.ReaderAt) (*File, error) { // Read EventAttr IDs and create ID -> EventAttr map file.idToAttr = make(map[attrID]*EventAttr) for _, attr := range file.attrs { + attr := attr var ids []attrID if err := readSlice(attr.IDs.sectionReader(r), &ids); err != nil { return nil, err