浏览代码

more fuzz test

v2ray 9 年之前
父节点
当前提交
73c17d9931

+ 1 - 1
proxy/vmess/command/accounts.go

@@ -80,7 +80,7 @@ func (this *SwitchAccount) Unmarshal(data []byte) error {
 	}
 	this.AlterIds = serial.ParseUint16(data[alterIdStart : alterIdStart+2])
 	levelStart := alterIdStart + 2
-	if len(data) < levelStart {
+	if len(data) < levelStart+1 {
 		return transport.CorruptedPacket
 	}
 	this.Level = vmess.UserLevel(data[levelStart])

+ 5 - 1
proxy/vmess/command/accounts_fuzz.go → proxy/vmess/command/testing/fuzzing/accounts_fuzz.go

@@ -1,6 +1,10 @@
 // +build gofuzz
 
-package command
+package fuzzing
+
+import (
+	. "github.com/v2ray/v2ray-core/proxy/vmess/command"
+)
 
 func Fuzz(data []byte) int {
 	cmd := new(SwitchAccount)

二进制
proxy/vmess/command/testing/fuzzing/data/empty_host.corpus