message: [Backport] Shut down if trying to connect a corrupted block
diff: @@ -2243,8 +2243,15 @@ bool ConnectBlock(const CBlock& block, CValidationState& state, CBlockIndex* pin
  {
  AssertLockHeld(cs_main);
  // Check it again in case a previous version let a bad block in
  - if (!fAlreadyChecked && !CheckBlock(block, state, !fJustCheck, !fJustCheck))
  + if (!fAlreadyChecked && !CheckBlock(block, state, !fJustCheck, !fJustCheck)) {
  + if (state.CorruptionPossible()) {
  + // We don't write down blocks to disk if they may have been
  + // corrupted, so this should be impossible unless we're having hardware
  + // problems.
  + return AbortNode(state, "Corrupt block found indicating potential hardware failure; shutting down");
  + }
  return false;
  + }
  // verify that the view's current state corresponds to the previous block
  uint256 hashPrevBlock = pindex->pprev == NULL ? UINT256_ZERO : pindex->pprev->GetBlockHash();
  