1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-12-22 01:57:12 -05:00

Fix totalSize

This commit is contained in:
RPRX 2020-08-04 03:50:22 +00:00 committed by GitHub
parent 070e72f581
commit e425876afe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -248,13 +248,14 @@ func (w *AuthenticationWriter) seal(b []byte) (*buf.Buffer, error) {
paddingSize = int32(w.padding.NextPaddingLen()) paddingSize = int32(w.padding.NextPaddingLen())
} }
totalSize := encryptedSize + paddingSize sizeBytes := w.sizeParser.SizeBytes()
totalSize := sizeBytes + encryptedSize + paddingSize
if totalSize > buf.Size { if totalSize > buf.Size {
return nil, newError("size too large: ", totalSize) return nil, newError("size too large: ", totalSize)
} }
eb := buf.New() eb := buf.New()
w.sizeParser.Encode(uint16(encryptedSize+paddingSize), eb.Extend(w.sizeParser.SizeBytes())) w.sizeParser.Encode(uint16(encryptedSize+paddingSize), eb.Extend(sizeBytes))
if _, err := w.auth.Seal(eb.Extend(encryptedSize)[:0], b); err != nil { if _, err := w.auth.Seal(eb.Extend(encryptedSize)[:0], b); err != nil {
eb.Release() eb.Release()
return nil, err return nil, err