diff options
author | Aliaksandr Valialkin <valyala@gmail.com> | 2016-03-18 11:25:04 +0200 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2016-03-23 07:14:26 +0000 |
commit | 1374515a1cf2279c2e47a4ee03a3616781814ad0 (patch) | |
tree | 9eb2dfd467ff47197257425b56c7d22ef61dc0d3 /src/cmd/vet/main.go | |
parent | 49da931268fe4d1fcee988c05b1d65dad8668506 (diff) | |
download | go-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.go | 3 |
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) |