From 9212ad7c7f8d478a427e70893cf9d5de91a9f81f Mon Sep 17 00:00:00 2001 From: William Banfield Date: Fri, 23 Jul 2021 18:05:55 -0400 Subject: [PATCH] fix for single element json array --- test/fuzz/rpc/jsonrpc/server/handler.go | 6 +++--- .../testdata/1184f5b8d4b6dd08709cf1513f26744167065e0d | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) create mode 100644 test/fuzz/rpc/jsonrpc/server/testdata/1184f5b8d4b6dd08709cf1513f26744167065e0d diff --git a/test/fuzz/rpc/jsonrpc/server/handler.go b/test/fuzz/rpc/jsonrpc/server/handler.go index 79ac30dc5..c30a8890c 100644 --- a/test/fuzz/rpc/jsonrpc/server/handler.go +++ b/test/fuzz/rpc/jsonrpc/server/handler.go @@ -43,7 +43,7 @@ func Fuzz(data []byte) int { return 1 } - if inputJSONIsSlice(data) { + if inputJSONIsMultiElementSlice(data) { recv := []types.RPCResponse{} if err := json.Unmarshal(blob, &recv); err != nil { panic(err) @@ -57,8 +57,8 @@ func Fuzz(data []byte) int { return 1 } -func inputJSONIsSlice(input []byte) bool { +func inputJSONIsMultiElementSlice(input []byte) bool { slice := []interface{}{} err := json.Unmarshal(input, &slice) - return err == nil + return err == nil && len(slice) > 1 } diff --git a/test/fuzz/rpc/jsonrpc/server/testdata/1184f5b8d4b6dd08709cf1513f26744167065e0d b/test/fuzz/rpc/jsonrpc/server/testdata/1184f5b8d4b6dd08709cf1513f26744167065e0d new file mode 100644 index 000000000..6e7ea636e --- /dev/null +++ b/test/fuzz/rpc/jsonrpc/server/testdata/1184f5b8d4b6dd08709cf1513f26744167065e0d @@ -0,0 +1 @@ +[0] \ No newline at end of file