]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: zero d.free field
authorRuss Cox <rsc@golang.org>
Sat, 22 Dec 2012 23:23:26 +0000 (18:23 -0500)
committerRuss Cox <rsc@golang.org>
Sat, 22 Dec 2012 23:23:26 +0000 (18:23 -0500)
Not programming in Go anymore:
have to clear fields in local variables.

R=ken2
CC=golang-dev
https://golang.org/cl/7002053

src/pkg/runtime/cgocall.c

index 7b540951b3db730308edf5f338aadecad0a6cd40..ed859c07b9320736df33ce008e647680f56909de 100644 (file)
@@ -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)