From: Dmitriy Vyukov Date: Thu, 21 Feb 2013 17:59:46 +0000 (+0400) Subject: runtime: fix heap corruption X-Git-Tag: go1.1rc2~922 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=94fab3cad33b7d5eb7422d319fd88b2db9896a75;p=gostls13.git runtime: fix heap corruption R=golang-dev, rsc CC=golang-dev https://golang.org/cl/7397049 --- diff --git a/src/pkg/runtime/proc.c b/src/pkg/runtime/proc.c index 5c36ddf745..9909182b6b 100644 --- a/src/pkg/runtime/proc.c +++ b/src/pkg/runtime/proc.c @@ -972,6 +972,12 @@ runtime·newextram(void) mp->locked = LockInternal; mp->lockedg = gp; gp->lockedm = mp; + // put on allg for garbage collector + if(runtime·lastg == nil) + runtime·allg = gp; + else + runtime·lastg->alllink = gp; + runtime·lastg = gp; schedunlock(); // Add m to the extra list.