From 84649876d01099f6fe7f9b81182d0b803ccbd612 Mon Sep 17 00:00:00 2001 From: Mikio Hara Date: Tue, 4 Aug 2015 10:20:11 +0900 Subject: [PATCH] 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 --- websocket/hybi.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/websocket/hybi.go b/websocket/hybi.go index 41c854e7..b965a342 100644 --- a/websocket/hybi.go +++ b/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) }