aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Gerrand <adg@golang.org>2011-10-17 15:54:36 +1100
committerAndrew Gerrand <adg@golang.org>2011-10-17 15:54:36 +1100
commit64471ae76204b116ab28c13f7008e90ae826a379 (patch)
tree94236583548b0d1ad0425215637c57476b57982f
parentedd1c9111d9e7d140f186124a89d9c47239e27b1 (diff)
downloadgo-64471ae76204b116ab28c13f7008e90ae826a379.tar.gz
go-64471ae76204b116ab28c13f7008e90ae826a379.zip
http: fix panic when recovering from hijacked connection panic
Fixes #2375. R=golang-dev, bradfitz CC=golang-dev https://golang.org/cl/5279049
-rw-r--r--src/pkg/http/server.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/pkg/http/server.go b/src/pkg/http/server.go
index 16071edec6..018be8cd3e 100644
--- a/src/pkg/http/server.go
+++ b/src/pkg/http/server.go
@@ -567,7 +567,9 @@ func (c *conn) serve() {
if err == nil {
return
}
- c.rwc.Close()
+ if c.rwc != nil { // may be nil if connection hijacked
+ c.rwc.Close()
+ }
var buf bytes.Buffer
fmt.Fprintf(&buf, "http: panic serving %v: %v\n", c.remoteAddr, err)