diff --git a/types/block.go b/types/block.go index da5be2b32..34d2cb85d 100644 --- a/types/block.go +++ b/types/block.go @@ -108,6 +108,12 @@ func (b *Block) Hash() cmn.HexBytes { // MakePartSet returns a PartSet containing parts of a serialized block. // This is the form in which the block is gossipped to peers. func (b *Block) MakePartSet(partSize int) *PartSet { + if b == nil { + return nil + } + b.mtx.Lock() + defer b.mtx.Unlock() + // We prefix the byte length, so that unmarshaling // can easily happen via a reader. bz, err := cdc.MarshalBinary(b)