Skip to content

Commit e3d35cb

Browse files
authored
backend, cli: fix vulnerability issues scanned by third-party tools (#623)
1 parent c8d0d82 commit e3d35cb

File tree

2 files changed

+5
-7
lines changed

2 files changed

+5
-7
lines changed

lib/cli/util.go

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ import (
77
"context"
88
"fmt"
99
"io"
10-
"math/rand"
1110
"net/http"
1211

1312
"github.com/pingcap/tiproxy/lib/util/errors"
@@ -39,8 +38,8 @@ func doRequest(ctx context.Context, bctx *Context, method string, url string, rd
3938

4039
var rete string
4140
var res *http.Response
42-
for _, i := range rand.Perm(len(bctx.CUrls)) {
43-
req.URL.Host = bctx.CUrls[i]
41+
for _, url := range bctx.CUrls {
42+
req.URL.Host = url
4443

4544
res, err = bctx.Client.Do(req)
4645
if err != nil {

pkg/proxy/backend/backend_conn_mgr.go

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"sync"
1616
"sync/atomic"
1717
"time"
18-
"unsafe"
1918

2019
"github.com/cenkalti/backoff/v4"
2120
"github.com/go-mysql-org/go-mysql/mysql"
@@ -123,7 +122,7 @@ type BackendConnManager struct {
123122
signalReceived chan signalType
124123
authenticator *Authenticator
125124
cmdProcessor *CmdProcessor
126-
eventReceiver unsafe.Pointer
125+
eventReceiver atomic.Pointer[router.ConnEventReceiver]
127126
config *BCConfig
128127
logger *zap.Logger
129128
curBackend router.BackendInst
@@ -406,11 +405,11 @@ func (mgr *BackendConnManager) updateTraffic(backendIO *pnet.PacketIO) {
406405
// SetEventReceiver implements RedirectableConn.SetEventReceiver interface.
407406
// The receiver sends redirection signals and watches redirecting events.
408407
func (mgr *BackendConnManager) SetEventReceiver(receiver router.ConnEventReceiver) {
409-
atomic.StorePointer(&mgr.eventReceiver, unsafe.Pointer(&receiver))
408+
mgr.eventReceiver.Store(&receiver)
410409
}
411410

412411
func (mgr *BackendConnManager) getEventReceiver() router.ConnEventReceiver {
413-
eventReceiver := (*router.ConnEventReceiver)(atomic.LoadPointer(&mgr.eventReceiver))
412+
eventReceiver := mgr.eventReceiver.Load()
414413
if eventReceiver == nil {
415414
return nil
416415
}

0 commit comments

Comments
 (0)