瀏覽代碼

Fix parse hysteria UDP message

shadow750d6 2 年之前
父節點
當前提交
c14b353a29
共有 1 個文件被更改,包括 4 次插入0 次删除
  1. 4 0
      transport/hysteria/protocol.go

+ 4 - 0
transport/hysteria/protocol.go

@@ -293,6 +293,10 @@ func ParseUDPMessage(packet []byte) (message UDPMessage, err error) {
 	if err != nil {
 		return
 	}
+	if 6+int(hostLen) > len(packet) {
+		err = E.New("invalid host length")
+		return
+	}
 	message.Host = string(packet[6 : 6+hostLen])
 	err = binary.Read(reader, binary.BigEndian, &message.Port)
 	if err != nil {