Ver Fonte

Fix websocket crash

世界 há 7 meses atrás
pai
commit
ae8ce75e41
1 ficheiros alterados com 4 adições e 0 exclusões
  1. 4 0
      transport/v2raywebsocket/conn.go

+ 4 - 0
transport/v2raywebsocket/conn.go

@@ -74,6 +74,10 @@ func (c *WebsocketConn) Read(b []byte) (n int, err error) {
 			return
 			return
 		}
 		}
 		if header.OpCode.IsControl() {
 		if header.OpCode.IsControl() {
+			if header.Length > 128 {
+				err = wsutil.ErrFrameTooLarge
+				return
+			}
 			err = c.controlHandler(header, c.reader)
 			err = c.controlHandler(header, c.reader)
 			if err != nil {
 			if err != nil {
 				return
 				return