fix: 修复非 gateway 数据包导致数组越界的问题
This commit is contained in:
parent
89c32b4ce3
commit
5096e6f884
|
@ -630,6 +630,7 @@ func (slf *Server) dispatchMessage(msg *Message) {
|
||||||
var conn = attrs[0].(*Conn)
|
var conn = attrs[0].(*Conn)
|
||||||
var packet = attrs[1].([]byte)
|
var packet = attrs[1].([]byte)
|
||||||
var wst = int(packet[len(packet)-1])
|
var wst = int(packet[len(packet)-1])
|
||||||
|
if len(packet) >= 2 {
|
||||||
var ct = packet[len(packet)-2]
|
var ct = packet[len(packet)-2]
|
||||||
if ct == 0xff {
|
if ct == 0xff {
|
||||||
var gp GP
|
var gp GP
|
||||||
|
@ -641,6 +642,10 @@ func (slf *Server) dispatchMessage(msg *Message) {
|
||||||
} else {
|
} else {
|
||||||
packet = packet[:len(packet)-1]
|
packet = packet[:len(packet)-1]
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
packet = packet[:len(packet)-1]
|
||||||
|
}
|
||||||
|
|
||||||
if !slf.OnConnectionPacketPreprocessEvent(conn, packet, func(newPacket []byte) { packet = newPacket }) {
|
if !slf.OnConnectionPacketPreprocessEvent(conn, packet, func(newPacket []byte) { packet = newPacket }) {
|
||||||
slf.OnConnectionReceivePacketEvent(conn, Packet{Data: packet, WebsocketType: wst})
|
slf.OnConnectionReceivePacketEvent(conn, Packet{Data: packet, WebsocketType: wst})
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue