]> Cypherpunks repositories - gostls13.git/commit
cmd/gc: fix crash during escape analysis
authorDmitry Vyukov <dvyukov@google.com>
Tue, 14 Apr 2015 09:46:15 +0000 (12:46 +0300)
committerDmitry Vyukov <dvyukov@google.com>
Tue, 14 Apr 2015 15:45:26 +0000 (15:45 +0000)
commit24f246c1b6fba4f8faf29b2d0cf3583f9bb04135
tree02363b21311f03f7e16c2213fbbea833a1ca002f
parent3b22ffc07ec0f4114362425ca004081fcdd708df
cmd/gc: fix crash during escape analysis

Fixes #10441

Compiler crashed as:

panic: runtime error: invalid memory address or nil pointer dereference
goroutine 1 [running]:
cmd/internal/gc.haspointers(0x0, 0xffffffffffffffff)
    src/cmd/internal/gc/reflect.go:623 +0x1f
cmd/internal/gc.escwalk(0x20c82dc00, 0xffffffffffffffff, 0x20c82dda0, 0x20c835520)
    src/cmd/internal/gc/esc.go:1291 +0x14aa
cmd/internal/gc.escwalk(0x20c82dc00, 0xffffffffffffffff, 0x20c82dda0, 0x20beac340)
    src/cmd/internal/gc/esc.go:1386 +0x836

while evaluating haspointers of the fake OADDR node here:

leaks = level <= 0 && dst.Escloopdepth < src.Escloopdepth || level < 0 && dst == &e.funcParam && haspointers(src.Type)

Change-Id: I13c23fced52e8fcd0ae1df81b374df8632eb7790
Reviewed-on: https://go-review.googlesource.com/8932
Reviewed-by: David Chase <drchase@google.com>
Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
src/cmd/internal/gc/esc.go
test/fixedbugs/issue10441.go [new file with mode: 0644]