From e497b5c5bae2a4b147ee1615ba17bc0c84f3dc1c Mon Sep 17 00:00:00 2001 From: Damian Gryski Date: Fri, 28 Jan 2022 13:25:42 -0800 Subject: [PATCH] src/runtime: prevent out-of-bounds memory access during b.state() --- src/runtime/gc_conservative.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/runtime/gc_conservative.go b/src/runtime/gc_conservative.go index 09c6388a..ae675be1 100644 --- a/src/runtime/gc_conservative.go +++ b/src/runtime/gc_conservative.go @@ -134,7 +134,7 @@ func (b gcBlock) findNext() gcBlock { if b.state() == blockStateHead || b.state() == blockStateMark { b++ } - for b.state() == blockStateTail { + for b.address() < uintptr(metadataStart) && b.state() == blockStateTail { b++ } return b