Socks: Fix buffer full panic when encoding large UDP packets (#5252)

Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>
pull/5324/head
vemneyy 2025-11-20 15:21:22 +03:00 committed by GitHub
parent 2f1fabb318
commit b16a5f03fe
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 5 additions and 0 deletions

View File

@ -353,6 +353,11 @@ func EncodeUDPPacket(request *protocol.RequestHeader, data []byte) (*buf.Buffer,
b.Release()
return nil, err
}
// if data is too large, return an empty buffer (drop too big data)
if b.Available() < int32(len(data)) {
b.Clear()
return b, nil
}
common.Must2(b.Write(data))
return b, nil
}