mirror of
https://github.com/cmz0228/hysteria-dev.git
synced 2025-06-20 11:19:50 +00:00
fix: set serverAddrs to nil when closing an ObfsUDPHopClientPacketConn to prevent memory leaks
This commit is contained in:
parent
a48d6ddb7c
commit
1d9fa029c2
@ -204,6 +204,9 @@ func (c *ObfsUDPHopClientPacketConn) ReadFrom(b []byte) (int, net.Addr, error) {
|
|||||||
func (c *ObfsUDPHopClientPacketConn) WriteTo(b []byte, addr net.Addr) (int, error) {
|
func (c *ObfsUDPHopClientPacketConn) WriteTo(b []byte, addr net.Addr) (int, error) {
|
||||||
c.connMutex.RLock()
|
c.connMutex.RLock()
|
||||||
defer c.connMutex.RUnlock()
|
defer c.connMutex.RUnlock()
|
||||||
|
if c.closed {
|
||||||
|
return 0, net.ErrClosed
|
||||||
|
}
|
||||||
/*
|
/*
|
||||||
// Check if the address is the server address
|
// Check if the address is the server address
|
||||||
if addr.String() != c.serverAddr.String() {
|
if addr.String() != c.serverAddr.String() {
|
||||||
@ -229,6 +232,7 @@ func (c *ObfsUDPHopClientPacketConn) Close() error {
|
|||||||
err := c.currentConn.Close()
|
err := c.currentConn.Close()
|
||||||
close(c.closeChan)
|
close(c.closeChan)
|
||||||
c.closed = true
|
c.closed = true
|
||||||
|
c.serverAddrs = nil // For GC
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user