mirror of
https://github.com/golang/go
synced 2024-11-24 00:30:15 -07:00
database/sql: fix nil pointer use within withLock
During the refactor in 1126d1483f
I
introduced a logical error within one withLock function that used
the result of the call before checking for the error. Change
the order so that the error is checked before the result is used.
None of the other withLock uses have similar issues.
Fixes #23208
Change-Id: I6c5dcf262e36bad4369c850f1e0131066360a82e
Reviewed-on: https://go-review.googlesource.com/85175
Run-TryBot: Daniel Theophanes <kardianos@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Caleb Spare <cespare@gmail.com>
Reviewed-by: Ian Lance Taylor <iant@golang.org>
This commit is contained in:
parent
15bc0a129a
commit
78583a125a
@ -2055,14 +2055,14 @@ func (tx *Tx) StmtContext(ctx context.Context, stmt *Stmt) *Stmt {
|
||||
stmt.mu.Unlock()
|
||||
|
||||
if si == nil {
|
||||
var ds *driverStmt
|
||||
withLock(dc, func() {
|
||||
var ds *driverStmt
|
||||
ds, err = stmt.prepareOnConnLocked(ctx, dc)
|
||||
si = ds.si
|
||||
})
|
||||
if err != nil {
|
||||
return &Stmt{stickyErr: err}
|
||||
}
|
||||
si = ds.si
|
||||
}
|
||||
parentStmt = stmt
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user