From 96d1a4aee6c21b0cd247513cdd9d3acc78df378d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C3=A9ter=20Szil=C3=A1gyi?= Date: Fri, 31 Mar 2017 15:06:54 +0300 Subject: [PATCH] ethstats: sanity check ethstats history queries --- ethstats/ethstats.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/ethstats/ethstats.go b/ethstats/ethstats.go index 10f611c795..3ebbe3fc3b 100644 --- a/ethstats/ethstats.go +++ b/ethstats/ethstats.go @@ -537,10 +537,16 @@ func (s *Service) reportHistory(conn *websocket.Conn, list []uint64) error { // Gather the batch of blocks to report history := make([]*blockStats, len(indexes)) for i, number := range indexes { + var block *types.Block if s.eth != nil { - history[len(history)-1-i] = s.assembleBlockStats(s.eth.BlockChain().GetBlockByNumber(number)) + block = s.eth.BlockChain().GetBlockByNumber(number) } else { - history[len(history)-1-i] = s.assembleBlockStats(types.NewBlockWithHeader(s.les.BlockChain().GetHeaderByNumber(number))) + if header := s.les.BlockChain().GetHeaderByNumber(number); header != nil { + block = types.NewBlockWithHeader(header) + } + } + if block != nil { + history[len(history)-1-i] = s.assembleBlockStats(block) } } // Assemble the history report and send it to the server