Skip to content

Commit d06c312

Browse files
committed
all: check error returned from rlp.Encode()
1 parent 447b5f7 commit d06c312

File tree

4 files changed

+27
-9
lines changed

4 files changed

+27
-9
lines changed

core/rawdb/accessors_chain_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,9 @@ func TestBodyStorage(t *testing.T) {
7575
body := &types.Body{Uncles: []*types.Header{{Extra: []byte("test header")}}}
7676

7777
hasher := sha3.NewLegacyKeccak256()
78-
rlp.Encode(hasher, body)
78+
if err := rlp.Encode(hasher, body); err != nil {
79+
t.Fatalf("encode body err: %v", err)
80+
}
7981
hash := common.BytesToHash(hasher.Sum(nil))
8082

8183
if entry := ReadBody(db, hash, 0); entry != nil {

core/types/types_test.go

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -127,13 +127,15 @@ func benchRLP(b *testing.B, encode bool) {
127127
b.ReportAllocs()
128128
var null = &devnull{}
129129
for b.Loop() {
130-
rlp.Encode(null, tc.obj)
130+
if err := rlp.Encode(null, tc.obj); err != nil {
131+
b.Fatal(err)
132+
}
131133
}
132134
b.SetBytes(int64(null.len / b.N))
133135
})
134136
} else {
135-
data, _ := rlp.EncodeToBytes(tc.obj)
136137
// Test decoding
138+
data, _ := rlp.EncodeToBytes(tc.obj)
137139
b.Run(tc.name, func(b *testing.B) {
138140
b.ReportAllocs()
139141
for b.Loop() {

p2p/enode/idscheme.go

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,10 @@ func SignV4(r *enr.Record, privkey *ecdsa.PrivateKey) error {
5050
cpy.Set(Secp256k1(privkey.PublicKey))
5151

5252
h := sha3.NewLegacyKeccak256()
53-
rlp.Encode(h, cpy.AppendElements(nil))
53+
if err := rlp.Encode(h, cpy.AppendElements(nil)); err != nil {
54+
panic("can't encode: " + err.Error())
55+
}
56+
5457
sig, err := crypto.Sign(h.Sum(nil), privkey)
5558
if err != nil {
5659
return err
@@ -71,7 +74,10 @@ func (V4ID) Verify(r *enr.Record, sig []byte) error {
7174
}
7275

7376
h := sha3.NewLegacyKeccak256()
74-
rlp.Encode(h, r.AppendElements(nil))
77+
if err := rlp.Encode(h, r.AppendElements(nil)); err != nil {
78+
panic("can't encode: " + err.Error())
79+
}
80+
7581
if !crypto.VerifySignature(entry, h.Sum(nil), sig) {
7682
return enr.ErrInvalidSig
7783
}

trie/node_test.go

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ func TestDecodeNestedNode(t *testing.T) {
4545
fullNodeData[15] = data
4646

4747
buf := bytes.NewBuffer([]byte{})
48-
rlp.Encode(buf, fullNodeData)
48+
if err := rlp.Encode(buf, fullNodeData); err != nil {
49+
t.Fatalf("encode full node err: %v", err)
50+
}
4951

5052
if _, err := decodeNode([]byte("testdecode"), buf.Bytes()); err != nil {
5153
t.Fatalf("decode nested full node err: %v", err)
@@ -56,7 +58,9 @@ func TestDecodeFullNodeWrongSizeChild(t *testing.T) {
5658
fullNodeData := newTestFullNode([]byte("wrongsizechild"))
5759
fullNodeData[0] = []byte("00")
5860
buf := bytes.NewBuffer([]byte{})
59-
rlp.Encode(buf, fullNodeData)
61+
if err := rlp.Encode(buf, fullNodeData); err != nil {
62+
t.Fatalf("encode full node err: %v", err)
63+
}
6064

6165
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
6266
if _, ok := err.(*decodeError); !ok {
@@ -75,7 +79,9 @@ func TestDecodeFullNodeWrongNestedFullNode(t *testing.T) {
7579
fullNodeData[15] = data
7680

7781
buf := bytes.NewBuffer([]byte{})
78-
rlp.Encode(buf, fullNodeData)
82+
if err := rlp.Encode(buf, fullNodeData); err != nil {
83+
t.Fatalf("encode full node err: %v", err)
84+
}
7985

8086
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
8187
if _, ok := err.(*decodeError); !ok {
@@ -86,7 +92,9 @@ func TestDecodeFullNodeWrongNestedFullNode(t *testing.T) {
8692
func TestDecodeFullNode(t *testing.T) {
8793
fullNodeData := newTestFullNode([]byte("decodefullnode"))
8894
buf := bytes.NewBuffer([]byte{})
89-
rlp.Encode(buf, fullNodeData)
95+
if err := rlp.Encode(buf, fullNodeData); err != nil {
96+
t.Fatalf("encode full node err: %v", err)
97+
}
9098

9199
_, err := decodeNode([]byte("testdecode"), buf.Bytes())
92100
if err != nil {

0 commit comments

Comments
 (0)