test/fuzzers: fuzz rlp handling of big.Int and uint256.Int (#26917)

test/fuzzers: fuzz rlp handling of big.Lnt and uint256.Int
This commit is contained in:
Martin Holst Swende 2023-04-03 05:42:34 -04:00 committed by GitHub
parent 94457cce07
commit a25dd8064e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -19,9 +19,11 @@ package rlp
import ( import (
"bytes" "bytes"
"fmt" "fmt"
"math/big"
"github.com/ethereum/go-ethereum/core/types" "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/rlp" "github.com/ethereum/go-ethereum/rlp"
"github.com/holiman/uint256"
) )
func decodeEncode(input []byte, val interface{}, i int) { func decodeEncode(input []byte, val interface{}, i int) {
@ -126,5 +128,16 @@ func Fuzz(input []byte) int {
var rs types.Receipts var rs types.Receipts
decodeEncode(input, &rs, i) decodeEncode(input, &rs, i)
} }
{
i++
var v struct {
AnIntPtr *big.Int
AnInt big.Int
AnU256Ptr *uint256.Int
AnU256 uint256.Int
NotAnU256 [4]uint64
}
decodeEncode(input, &v, i)
}
return 1 return 1
} }