mirror of https://github.com/XTLS/Xray-core
Socks: Fix buffer full panic when encoding large UDP packets (#5252)
Co-authored-by: 风扇滑翔翼 <Fangliding.fshxy@outlook.com>pull/5324/head
parent
2f1fabb318
commit
b16a5f03fe
|
|
@ -353,6 +353,11 @@ func EncodeUDPPacket(request *protocol.RequestHeader, data []byte) (*buf.Buffer,
|
||||||
b.Release()
|
b.Release()
|
||||||
return nil, err
|
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))
|
common.Must2(b.Write(data))
|
||||||
return b, nil
|
return b, nil
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue