mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-23 05:06:43 +00:00
all: check error returned from rlp.Encode()
This commit is contained in:
parent
447b5f7e19
commit
426fabd8a1
4 changed files with 26 additions and 8 deletions
|
|
@ -75,7 +75,9 @@ func TestBodyStorage(t *testing.T) {
|
||||||
body := &types.Body{Uncles: []*types.Header{{Extra: []byte("test header")}}}
|
body := &types.Body{Uncles: []*types.Header{{Extra: []byte("test header")}}}
|
||||||
|
|
||||||
hasher := sha3.NewLegacyKeccak256()
|
hasher := sha3.NewLegacyKeccak256()
|
||||||
rlp.Encode(hasher, body)
|
if err := rlp.Encode(hasher, body); err != nil {
|
||||||
|
t.Fatalf("encode body err: %v", err)
|
||||||
|
}
|
||||||
hash := common.BytesToHash(hasher.Sum(nil))
|
hash := common.BytesToHash(hasher.Sum(nil))
|
||||||
|
|
||||||
if entry := ReadBody(db, hash, 0); entry != nil {
|
if entry := ReadBody(db, hash, 0); entry != nil {
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,9 @@ func benchRLP(b *testing.B, encode bool) {
|
||||||
b.ReportAllocs()
|
b.ReportAllocs()
|
||||||
var null = &devnull{}
|
var null = &devnull{}
|
||||||
for b.Loop() {
|
for b.Loop() {
|
||||||
rlp.Encode(null, tc.obj)
|
if err := rlp.Encode(null, tc.obj); err != nil {
|
||||||
|
b.Fatal(err)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
b.SetBytes(int64(null.len / b.N))
|
b.SetBytes(int64(null.len / b.N))
|
||||||
})
|
})
|
||||||
|
|
|
||||||
|
|
@ -50,7 +50,10 @@ func SignV4(r *enr.Record, privkey *ecdsa.PrivateKey) error {
|
||||||
cpy.Set(Secp256k1(privkey.PublicKey))
|
cpy.Set(Secp256k1(privkey.PublicKey))
|
||||||
|
|
||||||
h := sha3.NewLegacyKeccak256()
|
h := sha3.NewLegacyKeccak256()
|
||||||
rlp.Encode(h, cpy.AppendElements(nil))
|
if err := rlp.Encode(h, cpy.AppendElements(nil)); err != nil {
|
||||||
|
panic("can't encode: " + err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
sig, err := crypto.Sign(h.Sum(nil), privkey)
|
sig, err := crypto.Sign(h.Sum(nil), privkey)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
|
|
@ -71,7 +74,10 @@ func (V4ID) Verify(r *enr.Record, sig []byte) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
h := sha3.NewLegacyKeccak256()
|
h := sha3.NewLegacyKeccak256()
|
||||||
rlp.Encode(h, r.AppendElements(nil))
|
if err := rlp.Encode(h, r.AppendElements(nil)); err != nil {
|
||||||
|
panic("can't encode: " + err.Error())
|
||||||
|
}
|
||||||
|
|
||||||
if !crypto.VerifySignature(entry, h.Sum(nil), sig) {
|
if !crypto.VerifySignature(entry, h.Sum(nil), sig) {
|
||||||
return enr.ErrInvalidSig
|
return enr.ErrInvalidSig
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -45,7 +45,9 @@ func TestDecodeNestedNode(t *testing.T) {
|
||||||
fullNodeData[15] = data
|
fullNodeData[15] = data
|
||||||
|
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
rlp.Encode(buf, fullNodeData)
|
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||||
|
t.Fatalf("encode full node err: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
if _, err := decodeNode([]byte("testdecode"), buf.Bytes()); err != nil {
|
if _, err := decodeNode([]byte("testdecode"), buf.Bytes()); err != nil {
|
||||||
t.Fatalf("decode nested full node err: %v", err)
|
t.Fatalf("decode nested full node err: %v", err)
|
||||||
|
|
@ -56,7 +58,9 @@ func TestDecodeFullNodeWrongSizeChild(t *testing.T) {
|
||||||
fullNodeData := newTestFullNode([]byte("wrongsizechild"))
|
fullNodeData := newTestFullNode([]byte("wrongsizechild"))
|
||||||
fullNodeData[0] = []byte("00")
|
fullNodeData[0] = []byte("00")
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
rlp.Encode(buf, fullNodeData)
|
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||||
|
t.Fatalf("encode full node err: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
||||||
if _, ok := err.(*decodeError); !ok {
|
if _, ok := err.(*decodeError); !ok {
|
||||||
|
|
@ -75,7 +79,9 @@ func TestDecodeFullNodeWrongNestedFullNode(t *testing.T) {
|
||||||
fullNodeData[15] = data
|
fullNodeData[15] = data
|
||||||
|
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
rlp.Encode(buf, fullNodeData)
|
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||||
|
t.Fatalf("encode full node err: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
||||||
if _, ok := err.(*decodeError); !ok {
|
if _, ok := err.(*decodeError); !ok {
|
||||||
|
|
@ -86,7 +92,9 @@ func TestDecodeFullNodeWrongNestedFullNode(t *testing.T) {
|
||||||
func TestDecodeFullNode(t *testing.T) {
|
func TestDecodeFullNode(t *testing.T) {
|
||||||
fullNodeData := newTestFullNode([]byte("decodefullnode"))
|
fullNodeData := newTestFullNode([]byte("decodefullnode"))
|
||||||
buf := bytes.NewBuffer([]byte{})
|
buf := bytes.NewBuffer([]byte{})
|
||||||
rlp.Encode(buf, fullNodeData)
|
if err := rlp.Encode(buf, fullNodeData); err != nil {
|
||||||
|
t.Fatalf("encode full node err: %v", err)
|
||||||
|
}
|
||||||
|
|
||||||
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue