]> Cypherpunks repositories - gostls13.git/commit
cmd/vet: detect defer resp.Body.Close() before error check
authorFrancesc Campoy <campoy@golang.org>
Tue, 8 Nov 2016 07:37:21 +0000 (23:37 -0800)
committerFrancesc Campoy Flores <campoy@golang.org>
Thu, 10 Nov 2016 20:38:11 +0000 (20:38 +0000)
commit47bdae942242eca4be94989bab485bb1335f354d
treeaa30ca983d460ac40a31f8b7b8b3490e648a5205
parent91135f27415ae582081e59d1b70f77d4d4d58112
cmd/vet: detect defer resp.Body.Close() before error check

This check detects the code

resp, err := http.Get("http://foo.com")
defer resp.Body.Close()
if err != nil {
...
}

For every call to a function on the net/http package or any method
on http.Client that returns (*http.Response, error), it checks
whether the next line is a defer statement that calls on the response.

Fixes #17780.

Change-Id: I9d70edcbfa2bad205bf7f45281597d074c795977
Reviewed-on: https://go-review.googlesource.com/32911
Reviewed-by: Rob Pike <r@golang.org>
src/cmd/vet/doc.go
src/cmd/vet/httpresponse.go [new file with mode: 0644]
src/cmd/vet/testdata/httpresponse.go [new file with mode: 0644]