From 73c17d9931d0697bd70d9147eacd6025d322f558 Mon Sep 17 00:00:00 2001 From: v2ray Date: Fri, 22 Jan 2016 21:56:37 +0100 Subject: [PATCH] more fuzz test --- proxy/vmess/command/accounts.go | 2 +- .../command/{ => testing/fuzzing}/accounts_fuzz.go | 6 +++++- .../command/testing/fuzzing/data/empty_host.corpus | Bin 0 -> 23 bytes 3 files changed, 6 insertions(+), 2 deletions(-) rename proxy/vmess/command/{ => testing/fuzzing}/accounts_fuzz.go (64%) create mode 100644 proxy/vmess/command/testing/fuzzing/data/empty_host.corpus diff --git a/proxy/vmess/command/accounts.go b/proxy/vmess/command/accounts.go index 5ba3996f4..b01c78770 100644 --- a/proxy/vmess/command/accounts.go +++ b/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]) diff --git a/proxy/vmess/command/accounts_fuzz.go b/proxy/vmess/command/testing/fuzzing/accounts_fuzz.go similarity index 64% rename from proxy/vmess/command/accounts_fuzz.go rename to proxy/vmess/command/testing/fuzzing/accounts_fuzz.go index 4e1c33117..325d2501e 100644 --- a/proxy/vmess/command/accounts_fuzz.go +++ b/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) diff --git a/proxy/vmess/command/testing/fuzzing/data/empty_host.corpus b/proxy/vmess/command/testing/fuzzing/data/empty_host.corpus new file mode 100644 index 0000000000000000000000000000000000000000..340adecd2021dc5a22bba7d5d9d7c8cbf3b505c3 GIT binary patch literal 23 ecmZQz5NBj!W?^Mx=in3&6cQE@6=M)!WCZ{S(E#88 literal 0 HcmV?d00001