فهرست منبع

websocket: add extented payload length check for the case of 7+64 bits

Fixes golang/go#11999.

Change-Id: I7ee0966d2e8f79973814f48afc7e8f2cd4af1e50
Reviewed-on: https://go-review.googlesource.com/13059
Reviewed-by: Andrew Gerrand <adg@golang.org>
Mikio Hara 10 سال پیش
والد
کامیت
84649876d0
1فایلهای تغییر یافته به همراه3 افزوده شده و 0 حذف شده
  1. 3 0
      websocket/hybi.go

+ 3 - 0
websocket/hybi.go

@@ -157,6 +157,9 @@ func (buf hybiFrameReaderFactory) NewFrameReader() (frame frameReader, err error
 		if err != nil {
 			return
 		}
+		if lengthFields == 8 && i == 0 { // MSB must be zero when 7+64 bits
+			b &= 0x7f
+		}
 		header = append(header, b)
 		hybiFrame.header.Length = hybiFrame.header.Length*256 + int64(b)
 	}