From cb009a5c4da40e1987b9dfcffa4d52bcae41e4e1 Mon Sep 17 00:00:00 2001 From: Felix Lange Date: Tue, 17 Mar 2015 23:49:49 +0100 Subject: rlp: don't panic for nil *big.Int All other pointer types can handle nil just fine. --- rlp/encode.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'rlp/encode.go') diff --git a/rlp/encode.go b/rlp/encode.go index 9d11d66bf..42bbb876c 100644 --- a/rlp/encode.go +++ b/rlp/encode.go @@ -386,7 +386,12 @@ func writeUint(val reflect.Value, w *encbuf) error { } func writeBigIntPtr(val reflect.Value, w *encbuf) error { - return writeBigInt(val.Interface().(*big.Int), w) + ptr := val.Interface().(*big.Int) + if ptr == nil { + w.str = append(w.str, 0x80) + return nil + } + return writeBigInt(ptr, w) } func writeBigIntNoPtr(val reflect.Value, w *encbuf) error { -- cgit v1.2.3