From 8b2af4e0ec1ed6d07ce5f9da5a5e3cdfa010522d Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sat, 22 Jul 2023 00:56:38 -0600 Subject: rebuildmappings scan: Fix a use-after-free bug --- cmd/btrfs-rec/inspect/rebuildmappings/scan.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'cmd/btrfs-rec/inspect/rebuildmappings/scan.go') diff --git a/cmd/btrfs-rec/inspect/rebuildmappings/scan.go b/cmd/btrfs-rec/inspect/rebuildmappings/scan.go index 76d8a75..d96005e 100644 --- a/cmd/btrfs-rec/inspect/rebuildmappings/scan.go +++ b/cmd/btrfs-rec/inspect/rebuildmappings/scan.go @@ -133,7 +133,7 @@ func (scanner *deviceScanner) ScanNode(ctx context.Context, addr btrfsvol.Physic addr, i) scanner.result.FoundChunks = append(scanner.result.FoundChunks, FoundChunk{ Key: item.Key, - Chunk: *itemBody, + Chunk: itemBody.Clone(), }) case *btrfsitem.Error: dlog.Errorf(ctx, "node@%v: item %v: error: malformed CHUNK_ITEM: %v", @@ -148,7 +148,7 @@ func (scanner *deviceScanner) ScanNode(ctx context.Context, addr btrfsvol.Physic addr, i) scanner.result.FoundBlockGroups = append(scanner.result.FoundBlockGroups, FoundBlockGroup{ Key: item.Key, - BG: *itemBody, + BG: itemBody.Clone(), }) case *btrfsitem.Error: dlog.Errorf(ctx, "node@%v: item %v: error: malformed BLOCK_GROUP_ITEM: %v", @@ -163,7 +163,7 @@ func (scanner *deviceScanner) ScanNode(ctx context.Context, addr btrfsvol.Physic addr, i) scanner.result.FoundDevExtents = append(scanner.result.FoundDevExtents, FoundDevExtent{ Key: item.Key, - DevExt: *itemBody, + DevExt: itemBody.Clone(), }) case *btrfsitem.Error: dlog.Errorf(ctx, "node@%v: item %v: error: malformed DEV_EXTENT: %v", @@ -178,7 +178,7 @@ func (scanner *deviceScanner) ScanNode(ctx context.Context, addr btrfsvol.Physic addr, i) scanner.result.FoundExtentCSums = append(scanner.result.FoundExtentCSums, FoundExtentCSum{ Generation: node.Head.Generation, - Sums: *itemBody, + Sums: itemBody.Clone(), }) case *btrfsitem.Error: dlog.Errorf(ctx, "node@%v: item %v: error: malformed is EXTENT_CSUM: %v", -- cgit v1.2.3-2-g168b