From: Russ Cox Date: Sat, 22 Dec 2012 23:23:26 +0000 (-0500) Subject: runtime: zero d.free field X-Git-Tag: go1.1rc2~1538 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=403f012534b7042160d26377a70b6624ccfd976c;p=gostls13.git runtime: zero d.free field Not programming in Go anymore: have to clear fields in local variables. R=ken2 CC=golang-dev https://golang.org/cl/7002053 --- diff --git a/src/pkg/runtime/cgocall.c b/src/pkg/runtime/cgocall.c index 7b540951b3..ed859c07b9 100644 --- a/src/pkg/runtime/cgocall.c +++ b/src/pkg/runtime/cgocall.c @@ -132,6 +132,7 @@ runtime·cgocall(void (*fn)(void*), void *arg) d.link = g->defer; d.argp = (void*)-1; // unused because unlockm never recovers d.special = true; + d.free = false; g->defer = &d; } @@ -237,6 +238,7 @@ runtime·cgocallbackg(void (*fn)(void), void *arg, uintptr argsize) d.link = g->defer; d.argp = (void*)-1; // unused because unwindm never recovers d.special = true; + d.free = false; g->defer = &d; if(raceenabled)