1
0
mirror of https://github.com/golang/go synced 2024-11-19 21:04:43 -07:00
go/src
Dmitry Vyukov 24f246c1b6 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>
2015-04-14 15:45:26 +00:00
..
archive all: use "reports whether" in place of "returns true if(f)" 2015-03-18 15:14:06 +00:00
bufio bufio: fix incorrect comment on Scanner.Scan 2015-03-18 00:59:49 +00:00
builtin
bytes bytes, strings: add Reader.Size methods 2015-04-06 08:53:47 +00:00
cmd cmd/gc: fix crash during escape analysis 2015-04-14 15:45:26 +00:00
compress compress/flate: fix typo in comment 2015-04-01 16:48:04 +00:00
container
crypto crypto/x509: skip arm64 tests limited by iOS 2015-04-13 11:55:32 +00:00
database/sql database/sql: Retry with a fresh connection after maxBadConnRetries 2015-04-08 16:18:36 +00:00
debug debug/dwarf: add Entry.AttrField method to get *Field by Attr 2015-04-12 14:38:00 +00:00
encoding encoding/gob: more checks for corrupted data 2015-04-09 17:02:19 +00:00
errors
expvar expvar: swap Float sync. from mutex to atomic. 2015-04-12 23:07:50 +00:00
flag all: use "reports whether" in place of "returns true if(f)" 2015-03-18 15:14:06 +00:00
fmt fmt: empty byte slices should print nothing in hex 2015-04-13 20:50:13 +00:00
go go/build: skip darwin/arm64 tests that need GOROOT 2015-04-13 11:53:49 +00:00
hash os/signal, hash/crc32: add arm64 build tags 2015-03-16 18:46:43 +00:00
html text/template: provide a mechanism for options 2015-04-03 23:40:59 +00:00
image image/jpeg: don't assume that an ensureNBits failure implies that we can 2015-04-14 07:22:44 +00:00
index/suffixarray
internal cmd/go: cache results of HTTP requests done during meta tag discovery 2015-04-13 07:08:00 +00:00
io io: clarify Copy docs regarding error handling 2015-04-08 13:39:33 +00:00
log log/syslog: limiting tests on darwin/arm64 2015-04-13 11:54:28 +00:00
math math/big: better doc strings for ErrNaN functionality 2015-04-09 20:18:32 +00:00
mime mime/quotedprintable: add binary mode to the writer 2015-03-30 12:49:19 +00:00
net net: remove old comment 2015-04-14 04:38:20 +00:00
os os: fix TestProgWideChdir on darwin 2015-04-13 22:26:15 +00:00
path path/filepath: skip test on darwin/arm64 2015-04-13 11:52:46 +00:00
reflect reflect, runtime: check equality, not identity, for method names 2015-04-11 17:35:44 +00:00
regexp regexp: skip backtracker for long programs 2015-04-09 09:38:23 +00:00
runtime runtime: make cgocallback wait on package init 2015-04-14 13:39:02 +00:00
sort
strconv strconv: use 64bit uint for decimal conversion if available 2015-04-10 17:42:20 +00:00
strings bytes, strings: add Reader.Size methods 2015-04-06 08:53:47 +00:00
sync sync/atomic: skip issue 7338 test on darwin/arm64 2015-04-12 02:47:43 +00:00
syscall syscall: ignore getwd errors when fixing working directory on Plan 9 2015-04-12 17:37:30 +00:00
testing testing/quick: fix comment 2015-03-27 13:00:53 +00:00
text text/template: provide a mechanism for options 2015-04-03 23:40:59 +00:00
time time: add Time.AppendFormat 2015-04-10 20:18:22 +00:00
unicode all: use "reports whether" in place of "returns true if(f)" 2015-03-18 15:14:06 +00:00
unsafe
all.bash
all.bat
all.rc
androidtest.bash androidtest.bash: copy pkg for gcimporter tests 2015-04-08 14:39:07 +00:00
bootstrap.bash build: add bootstrap.bash for bootstrapping new systems 2015-03-02 17:51:56 +00:00
clean.bash
clean.bat
clean.rc
iostest.bash iostest.bash: do not restart device by default 2015-04-13 16:42:11 +00:00
make.bash
make.bat build: update Windows make.bat to use CC_FOR_TARGET. 2015-03-02 02:20:46 +00:00
Make.dist
make.rc all: delete C libraries and cmd/dist code that builds them 2015-03-01 00:40:23 +00:00
nacltest.bash nacltest.bash: reduce test time by using bootstrapping Go to build fstest_nacl.go 2015-03-24 23:58:14 +00:00
race.bash
race.bat
run.bash build: convert run.bash, run.bat, and run.rc into a Go program 2015-03-03 23:22:11 +00:00
run.bat build: convert run.bash, run.bat, and run.rc into a Go program 2015-03-03 23:22:11 +00:00
run.rc build: convert run.bash, run.bat, and run.rc into a Go program 2015-03-03 23:22:11 +00:00