Skip to content

Commit df3366d

Browse files
committed
Rlp shouldn't write null bytes
1 parent 4dbdcae commit df3366d

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

ethutil/rlp.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ package ethutil
22

33
import (
44
"bytes"
5-
"encoding/binary"
65
"fmt"
76
"math/big"
87
"reflect"
@@ -193,8 +192,13 @@ func Encode(object interface{}) []byte {
193192
if blen < 56 {
194193
buff.WriteByte(byte(blen) + 0xc0)
195194
} else {
196-
buff.WriteByte(byte(intlen(int64(blen))) + 0xf7)
197-
binary.Write(&buff, binary.BigEndian, int64(blen))
195+
ilen := byte(intlen(int64(blen)))
196+
buff.WriteByte(ilen + 0xf7)
197+
t := make([]byte, ilen)
198+
for i := byte(0); i < ilen; i++ {
199+
t[ilen-i-1] = byte(blen >> (i * 8))
200+
}
201+
buff.Write(t)
198202
}
199203
buff.ReadFrom(&b)
200204
}

0 commit comments

Comments
 (0)