fix race condition

This commit is contained in:
ginuerzh
2023-10-19 23:47:47 +08:00
parent f2fd6554ad
commit cc4310106b
29 changed files with 157 additions and 156 deletions

View File

@ -80,7 +80,7 @@ func (c *ssConnector) Connect(ctx context.Context, conn net.Conn, network, addre
rawaddr := bufpool.Get(512)
defer bufpool.Put(rawaddr)
n, err := addr.Encode(*rawaddr)
n, err := addr.Encode(rawaddr)
if err != nil {
log.Error("encoding addr: ", err)
return nil, err
@ -99,12 +99,12 @@ func (c *ssConnector) Connect(ctx context.Context, conn net.Conn, network, addre
if c.md.noDelay {
sc = ss.ShadowConn(conn, nil)
// write the addr at once.
if _, err := sc.Write((*rawaddr)[:n]); err != nil {
if _, err := sc.Write(rawaddr[:n]); err != nil {
return nil, err
}
} else {
// cache the header
sc = ss.ShadowConn(conn, (*rawaddr)[:n])
sc = ss.ShadowConn(conn, rawaddr[:n])
}
return sc, nil