diff options
| author | Jan Ziak <0xe2.0x9a.0x9b@gmail.com> | 2013-04-25 13:39:09 +0200 |
|---|---|---|
| committer | Jan Ziak <0xe2.0x9a.0x9b@gmail.com> | 2013-04-25 13:39:09 +0200 |
| commit | e9bbe3a8da9043e13b74ec4427608364b068bed7 (patch) | |
| tree | 913824748b82d7633ca82e301aa1d55e1196d582 /src/pkg | |
| parent | 2bd17bca0776ff8bb661259d2ed6de6a325ac197 (diff) | |
| download | go-e9bbe3a8da9043e13b74ec4427608364b068bed7.tar.xz | |
runtime: prevent the GC from seeing the content of a frame in runfinq()
Fixes #5348.
R=golang-dev, dvyukov
CC=golang-dev
https://golang.org/cl/8954044
Diffstat (limited to 'src/pkg')
| -rw-r--r-- | src/pkg/runtime/mgc0.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/pkg/runtime/mgc0.c b/src/pkg/runtime/mgc0.c index f9dbdbb4a1..6369da2720 100644 --- a/src/pkg/runtime/mgc0.c +++ b/src/pkg/runtime/mgc0.c @@ -2191,7 +2191,7 @@ runfinq(void) framesz = sizeof(uintptr) + f->nret; if(framecap < framesz) { runtime·free(frame); - frame = runtime·mal(framesz); + frame = runtime·mallocgc(framesz, FlagNoPointers, 0, 1); framecap = framesz; } *(void**)frame = f->arg; |
