]> Cypherpunks repositories - gostls13.git/commitdiff
runtime: zero dangling pointer
authorDmitriy Vyukov <dvyukov@google.com>
Tue, 15 Jul 2014 06:27:36 +0000 (10:27 +0400)
committerDmitriy Vyukov <dvyukov@google.com>
Tue, 15 Jul 2014 06:27:36 +0000 (10:27 +0400)
I don't see how it can lead to bad things today.
But it's better to kill it before it does.

LGTM=khr
R=golang-codereviews, khr
CC=golang-codereviews, rsc
https://golang.org/cl/111130045

src/pkg/runtime/chan.goc

index 7a584717bb0705832b8cf7493c7ccba170c92df4..54b97697afbc597eea1e72603f712b19db6000c3 100644 (file)
@@ -1105,6 +1105,8 @@ loop:
        if(sgp == nil)
                return nil;
        q->first = sgp->link;
+       if(q->last == sgp)
+               q->last = nil;
 
        // if sgp participates in a select and is already signaled, ignore it
        if(sgp->selectdone != nil) {