From 7cad3fe64197d2716ae1b11f4c5541346d55905d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Piotr=20Wo=CC=81jcik?= <3044353+pwojcikdev@users.noreply.github.com> Date: Mon, 23 Jun 2025 00:51:43 +0200 Subject: [PATCH] Uninitialized block status should be invalid --- nano/node/block_processor.cpp | 5 +++++ nano/secure/common.hpp | 1 + nano/secure/ledger_processor.hpp | 2 +- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/nano/node/block_processor.cpp b/nano/node/block_processor.cpp index f8065ac34..d7464493e 100644 --- a/nano/node/block_processor.cpp +++ b/nano/node/block_processor.cpp @@ -486,6 +486,11 @@ nano::block_status nano::block_processor::process_one (secure::write_transaction logger.debug (nano::log::type::block_processor, "Block has insufficient work: {}", hash); break; } + case nano::block_status::invalid: + { + debug_assert (false, "invalid block status"); // This should never happen + break; + } } return result; } diff --git a/nano/secure/common.hpp b/nano/secure/common.hpp index 60b7ef31a..d1fb933ea 100644 --- a/nano/secure/common.hpp +++ b/nano/secure/common.hpp @@ -132,6 +132,7 @@ namespace confirmation_height enum class block_status { + invalid, // Status is unknown, block is not processed yet (default value) progress, // Hasn't been seen before, signed correctly bad_signature, // Signature was bad, forged or transmission error old, // Already seen and was valid diff --git a/nano/secure/ledger_processor.hpp b/nano/secure/ledger_processor.hpp index 2c66bb4c0..54fa8f914 100644 --- a/nano/secure/ledger_processor.hpp +++ b/nano/secure/ledger_processor.hpp @@ -23,7 +23,7 @@ public: nano::secure::write_transaction const & transaction; nano::ledger & ledger; - nano::block_status result; + nano::block_status result{ nano::block_status::invalid }; private: bool validate_epoch_block (nano::state_block const & block);