diff options
| author | Pavel <kositsyn.pa@phystech.edu> | 2021-11-08 14:29:16 +0000 |
|---|---|---|
| committer | Ian Lance Taylor <iant@golang.org> | 2021-11-11 19:46:03 +0000 |
| commit | 48f1cde942959e2fc3c56973a2986c24d554c82c (patch) | |
| tree | 9dd1ed1f2f0a5fa4a6659f1383929541bfbf8846 /src/database/sql/sql.go | |
| parent | d60a4e69f16f5bc958094af206ac7e47f6bc8b04 (diff) | |
| download | go-48f1cde942959e2fc3c56973a2986c24d554c82c.tar.xz | |
database/sql: prevent closes slices from assigning to free conn
In function connectionCleanerRunLocked append to closing slice affects db.freeConns and vise versa. Sometimes valid connections are closed and some invalid not.
Change-Id: I5282f15be3e549533b7d994b17b2060db3c0e7da
GitHub-Last-Rev: b3eb3ab6f49c036519f777fc7189e9507010c166
GitHub-Pull-Request: golang/go#49429
Reviewed-on: https://go-review.googlesource.com/c/go/+/362214
Reviewed-by: Daniel Theophanes <kardianos@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
Diffstat (limited to 'src/database/sql/sql.go')
| -rw-r--r-- | src/database/sql/sql.go | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/database/sql/sql.go b/src/database/sql/sql.go index 5131c08b51..c5b4f50aa7 100644 --- a/src/database/sql/sql.go +++ b/src/database/sql/sql.go @@ -1115,7 +1115,7 @@ func (db *DB) connectionCleanerRunLocked(d time.Duration) (time.Duration, []*dri c := db.freeConn[i] if c.returnedAt.Before(idleSince) { i++ - closing = db.freeConn[:i] + closing = db.freeConn[:i:i] db.freeConn = db.freeConn[i:] idleClosing = int64(len(closing)) db.maxIdleTimeClosed += idleClosing |
