From 3cf1eb5d5c914c500db67f575432932d1b958148 Mon Sep 17 00:00:00 2001 From: Eric Frias Date: Thu, 3 Sep 2015 18:54:10 -0400 Subject: [PATCH] Avoid dereferencing invalid optionals --- libraries/chain/db_management.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/libraries/chain/db_management.cpp b/libraries/chain/db_management.cpp index 99fb0811..1db6b568 100644 --- a/libraries/chain/db_management.cpp +++ b/libraries/chain/db_management.cpp @@ -96,12 +96,14 @@ void database::open( _pending_block.previous = head_block_id(); _pending_block.timestamp = head_block_time(); - auto last_block = _block_id_to_block.last(); + fc::optional last_block = _block_id_to_block.last(); if( last_block.valid() ) + { _fork_db.start_block( *last_block ); - - idump((last_block->id())(last_block->block_num())(head_block_id())(head_block_num())); - FC_ASSERT( last_block->id() == head_block_id() ); + idump((last_block->id())(last_block->block_num())); + } + idump((head_block_id())(head_block_num())); + FC_ASSERT( !last_block || last_block->id() == head_block_id() ); } FC_CAPTURE_AND_RETHROW( (data_dir) ) }