From 56a48101dc3dd96587915a5d7882f9d46ecc6ae9 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Mon, 23 Mar 2015 15:08:29 +0100 Subject: cmd/rlpdump, cmd/utils, eth, p2p, whisper: use rlp input limit --- p2p/message.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'p2p') diff --git a/p2p/message.go b/p2p/message.go index b42acbe3c..be6405d6f 100644 --- a/p2p/message.go +++ b/p2p/message.go @@ -32,7 +32,8 @@ type Msg struct { // // For the decoding rules, please see package rlp. func (msg Msg) Decode(val interface{}) error { - if err := rlp.Decode(msg.Payload, val); err != nil { + s := rlp.NewStream(msg.Payload, uint64(msg.Size)) + if err := s.Decode(val); err != nil { return newPeerError(errInvalidMsg, "(code %x) (size %d) %v", msg.Code, msg.Size, err) } return nil -- cgit v1.2.3 From eedbb1ee9a2164cd58e9fd305bc719a4c643f1a2 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 14 Apr 2015 12:02:23 +0200 Subject: p2p/discover: use rlp.DecodeBytes --- p2p/discover/udp.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'p2p') diff --git a/p2p/discover/udp.go b/p2p/discover/udp.go index 61a0abed9..07a1a739c 100644 --- a/p2p/discover/udp.go +++ b/p2p/discover/udp.go @@ -413,7 +413,7 @@ func decodePacket(buf []byte) (packet, NodeID, []byte, error) { default: return nil, fromID, hash, fmt.Errorf("unknown type: %d", ptype) } - err = rlp.Decode(bytes.NewReader(sigdata[1:]), req) + err = rlp.DecodeBytes(sigdata[1:], req) return req, fromID, hash, err } -- cgit v1.2.3 From 9c7281c17ebbdd6a8c10ecc618bcb9121215a21f Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Fri, 17 Apr 2015 02:13:32 +0200 Subject: p2p: make DiscReason bigger than byte We decode into [1]DiscReason in a few places. That doesn't work anymore because package rlp no longer accepts RLP lists for byte arrays. --- p2p/peer_error.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'p2p') diff --git a/p2p/peer_error.go b/p2p/peer_error.go index 402131630..a912f6064 100644 --- a/p2p/peer_error.go +++ b/p2p/peer_error.go @@ -57,7 +57,7 @@ func (self *peerError) Error() string { return self.message } -type DiscReason byte +type DiscReason uint const ( DiscRequested DiscReason = iota -- cgit v1.2.3