diff --git a/proxy/vless/encoding/encoding.go b/proxy/vless/encoding/encoding.go index 7a218aef..d42a1568 100644 --- a/proxy/vless/encoding/encoding.go +++ b/proxy/vless/encoding/encoding.go @@ -556,6 +556,9 @@ func XtlsPadding(b *buf.Buffer, command byte, userUUID *[]byte, longPadding bool b.Release() b = nil } + if paddingLen > buf.Size - newbuffer.Len() { + paddingLen = buf.Size - newbuffer.Len() + } newbuffer.Extend(paddingLen) newError("XtlsPadding ", contantLen, " ", paddingLen, " ", command).WriteToLog(session.ExportIDToError(ctx)) return newbuffer