Commit 403f0125 authored by Russ Cox's avatar Russ Cox

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
parent e49a183b
...@@ -132,6 +132,7 @@ runtime·cgocall(void (*fn)(void*), void *arg) ...@@ -132,6 +132,7 @@ runtime·cgocall(void (*fn)(void*), void *arg)
d.link = g->defer; d.link = g->defer;
d.argp = (void*)-1; // unused because unlockm never recovers d.argp = (void*)-1; // unused because unlockm never recovers
d.special = true; d.special = true;
d.free = false;
g->defer = &d; g->defer = &d;
} }
...@@ -237,6 +238,7 @@ runtime·cgocallbackg(void (*fn)(void), void *arg, uintptr argsize) ...@@ -237,6 +238,7 @@ runtime·cgocallbackg(void (*fn)(void), void *arg, uintptr argsize)
d.link = g->defer; d.link = g->defer;
d.argp = (void*)-1; // unused because unwindm never recovers d.argp = (void*)-1; // unused because unwindm never recovers
d.special = true; d.special = true;
d.free = false;
g->defer = &d; g->defer = &d;
if(raceenabled) if(raceenabled)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment