aboutsummaryrefslogtreecommitdiff
path: root/src/cmd/vet/main.go
diff options
context:
space:
mode:
authorAliaksandr Valialkin <valyala@gmail.com>2016-03-18 11:25:04 +0200
committerRob Pike <r@golang.org>2016-03-23 07:14:26 +0000
commit1374515a1cf2279c2e47a4ee03a3616781814ad0 (patch)
tree9eb2dfd467ff47197257425b56c7d22ef61dc0d3 /src/cmd/vet/main.go
parent49da931268fe4d1fcee988c05b1d65dad8668506 (diff)
downloadgo-1374515a1cf2279c2e47a4ee03a3616781814ad0.tar.gz
go-1374515a1cf2279c2e47a4ee03a3616781814ad0.zip
cmd/vet: check lock copy in function calls and return statements
Fixes #14529 Change-Id: I6ed059d279ba0fe12d76416859659f28d61781d2 Reviewed-on: https://go-review.googlesource.com/20832 Run-TryBot: Rob Pike <r@golang.org> Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/cmd/vet/main.go')
-rw-r--r--src/cmd/vet/main.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/cmd/vet/main.go b/src/cmd/vet/main.go
index 2d5da9895f..a2142dcabb 100644
--- a/src/cmd/vet/main.go
+++ b/src/cmd/vet/main.go
@@ -139,6 +139,7 @@ var (
genDecl *ast.GenDecl
interfaceType *ast.InterfaceType
rangeStmt *ast.RangeStmt
+ returnStmt *ast.ReturnStmt
// checkers is a two-level map.
// The outer level is keyed by a nil pointer, one of the AST vars above.
@@ -476,6 +477,8 @@ func (f *File) Visit(node ast.Node) ast.Visitor {
key = interfaceType
case *ast.RangeStmt:
key = rangeStmt
+ case *ast.ReturnStmt:
+ key = returnStmt
}
for _, fn := range f.checkers[key] {
fn(f, node)