From: Robert Griesemer Date: Thu, 27 Jan 2011 03:17:53 +0000 (-0800) Subject: gofmt -r: match(...) arguments may be nil; add missing guards X-Git-Tag: weekly.2011-02-01~66 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=32a7e464880103415c93219b6e4bb50539f93bd1;p=gostls13.git gofmt -r: match(...) arguments may be nil; add missing guards Fixes #1446. R=rsc CC=golang-dev https://golang.org/cl/3981043 --- diff --git a/src/cmd/gofmt/rewrite.go b/src/cmd/gofmt/rewrite.go index 8ea5334e97..fbcd46aa29 100644 --- a/src/cmd/gofmt/rewrite.go +++ b/src/cmd/gofmt/rewrite.go @@ -124,9 +124,9 @@ func match(m map[string]reflect.Value, pattern, val reflect.Value) bool { // Wildcard matches any expression. If it appears multiple // times in the pattern, it must match the same expression // each time. - if m != nil && pattern.Type() == identType { + if m != nil && pattern != nil && pattern.Type() == identType { name := pattern.Interface().(*ast.Ident).Name - if isWildcard(name) { + if isWildcard(name) && val != nil { // wildcards only match expressions if _, ok := val.Interface().(ast.Expr); ok { if old, ok := m[name]; ok {