• Dmitry Vyukov's avatar
    cmd/gc: fix crash during escape analysis · 24f246c1
    Dmitry Vyukov authored
    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/8932Reviewed-by: 's avatarDavid Chase <drchase@google.com>
    Run-TryBot: Dmitry Vyukov <dvyukov@google.com>
    TryBot-Result: Gobot Gobot <gobot@golang.org>
    24f246c1
esc.go 36.3 KB