mirror of
https://github.com/golang/go.git
synced 2025-05-18 22:04:38 +00:00
database/sql: check for nil connRequest.conn before use
The connRequest may return a nil conn value. However in a rare case that is difficult to test for it was being passed to DB.putConn without a nil check. This was an error as this made no sense if the driverConn is nil. This also caused a panic in putConn. A test for this would be nice, but didn't find a sane way to test for this condition. Fixes #24445 Change-Id: I827316e856788a5a3ced913f129bb5869b7bcf68 Reviewed-on: https://go-review.googlesource.com/102477 Run-TryBot: Daniel Theophanes <kardianos@gmail.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Alexey Palazhchenko <alexey.palazhchenko@gmail.com> Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
This commit is contained in:
parent
b9c8e870d1
commit
b98ffdf859
@ -1098,7 +1098,7 @@ func (db *DB) conn(ctx context.Context, strategy connReuseStrategy) (*driverConn
|
||||
select {
|
||||
default:
|
||||
case ret, ok := <-req:
|
||||
if ok {
|
||||
if ok && ret.conn != nil {
|
||||
db.putConn(ret.conn, ret.err, false)
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user