diff --git a/src/main.cpp b/src/main.cpp index 261694762..228f0abcb 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -2887,17 +2887,17 @@ static bool ActivateBestChainStep(CValidationState &state, CBlockIndex *pindexMo } if ( KOMODO_REWIND != 0 ) { - fprintf(stderr,"rewind ht.%d\n",chainActive.Tip()->nHeight); + fprintf(stderr,"rewind start ht.%d\n",chainActive.Tip()->nHeight); while ( chainActive.Tip()->nHeight > KOMODO_REWIND ) { if ( !DisconnectTip(state) ) { InvalidateBlock(state,chainActive.Tip()); - return false; + break; } } fprintf(stderr,"reached rewind.%d, best to do: ./komodo-cli stop\n",KOMODO_REWIND); - sleep(60); + sleep(3600); KOMODO_REWIND = 0; return(true); } @@ -3331,7 +3331,7 @@ bool CheckBlock(int32_t height,CBlockIndex *pindex,const CBlock& block, CValidat BOOST_FOREACH(const CTransaction& tx, block.vtx) { uint32_t prevtime = 0; CBlockIndex *ptr; - if ( height == chainActive.Tip()->nHeight+1 ) + if ( chainActive.Tip() != 0 && height == chainActive.Tip()->nHeight+1 ) prevtime = chainActive.Tip()->nTime; else if ( pindex != 0 ) { @@ -3340,7 +3340,7 @@ bool CheckBlock(int32_t height,CBlockIndex *pindex,const CBlock& block, CValidat } if ( prevtime == 0 ) { - if ( height > 0 && (ptr= chainActive[height-1]) ) + if ( height > 0 && (ptr= chainActive[height-1]) != 0 ) prevtime = ptr->nTime; } if ( komodo_validate_interest(0,tx,height,prevtime) < 0 )