diff --git a/src/base58.cpp b/src/base58.cpp index 509c8ae..190bac9 100644 --- a/src/base58.cpp +++ b/src/base58.cpp @@ -69,6 +69,10 @@ namespace base58 std::vector decodeCheck(std::string_view str) { std::vector buff(base58::decode(str)); + if (buff.size() < 4) + { + throw std::logic_error("base58::decodeCheck: incorrect padding"); + } std::span data(buff.begin(), buff.end() - 4); std::span dhash(buff.end() - 4, buff.end()); if (!std::equal(dhash.begin(), dhash.end(), hash::sha256(hash::sha256(data)).begin()))