Skip to content

Commit 403f012

Browse files
committed
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
1 parent e49a183 commit 403f012

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/pkg/runtime/cgocall.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ runtime·cgocall(void (*fn)(void*), void *arg)
132132
d.link = g->defer;
133133
d.argp = (void*)-1; // unused because unlockm never recovers
134134
d.special = true;
135+
d.free = false;
135136
g->defer = &d;
136137
}
137138

@@ -237,6 +238,7 @@ runtime·cgocallbackg(void (*fn)(void), void *arg, uintptr argsize)
237238
d.link = g->defer;
238239
d.argp = (void*)-1; // unused because unwindm never recovers
239240
d.special = true;
241+
d.free = false;
240242
g->defer = &d;
241243

242244
if(raceenabled)

0 commit comments

Comments
 (0)