diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-04-28 19:04:32 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-04-28 19:04:32 +0800 |
commit | a7d894611e8588716be70f2eb1375f8aebcdf608 (patch) | |
tree | 3775532779d3275075faf33f9ef246ec82ee8a92 /rlp/decode_test.go | |
parent | 91cb8cdd2acdcaceb577fd0ea9eb0997d42f8470 (diff) | |
parent | dd49c8e43d394b78d97a4f7cf7a74ddadcda5323 (diff) | |
download | go-tangerine-a7d894611e8588716be70f2eb1375f8aebcdf608.tar go-tangerine-a7d894611e8588716be70f2eb1375f8aebcdf608.tar.gz go-tangerine-a7d894611e8588716be70f2eb1375f8aebcdf608.tar.bz2 go-tangerine-a7d894611e8588716be70f2eb1375f8aebcdf608.tar.lz go-tangerine-a7d894611e8588716be70f2eb1375f8aebcdf608.tar.xz go-tangerine-a7d894611e8588716be70f2eb1375f8aebcdf608.tar.zst go-tangerine-a7d894611e8588716be70f2eb1375f8aebcdf608.zip |
Merge pull request #820 from fjl/rlp-readkind-overflow
rlp: fix list bounds check overflow (found by go-fuzz)
Diffstat (limited to 'rlp/decode_test.go')
-rw-r--r-- | rlp/decode_test.go | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/rlp/decode_test.go b/rlp/decode_test.go index d07520bd0..ae65346a9 100644 --- a/rlp/decode_test.go +++ b/rlp/decode_test.go @@ -119,6 +119,10 @@ func TestStreamErrors(t *testing.T) { {"8158", calls{"Uint", "Uint"}, nil, io.EOF}, {"C0", calls{"List", "ListEnd", "List"}, nil, io.EOF}, + {"", calls{"List"}, withoutInputLimit, io.EOF}, + {"8158", calls{"Uint", "Uint"}, withoutInputLimit, io.EOF}, + {"C0", calls{"List", "ListEnd", "List"}, withoutInputLimit, io.EOF}, + // Input limit errors. {"81", calls{"Bytes"}, nil, ErrValueTooLarge}, {"81", calls{"Uint"}, nil, ErrValueTooLarge}, @@ -426,6 +430,13 @@ var decodeTests = []decodeTest{ ptr: new([]io.Reader), error: "rlp: type io.Reader is not RLP-serializable", }, + + // fuzzer crashes + { + input: "c330f9c030f93030ce3030303030303030bd303030303030", + ptr: new(interface{}), + error: "rlp: element is larger than containing list", + }, } func uintp(i uint) *uint { return &i } |