From 1390c96c8e9c56e0d8348ef056f18e3e04f0f63f Mon Sep 17 00:00:00 2001 From: Jeremy Rubin Date: Tue, 16 Aug 2022 12:09:27 -0700 Subject: [BugFix]: Do not allow deserializing PSBT with empty PSBT_OUT_TAP_TREE Github-Pull: #25858 Rebased-From: 0652dc53b291bd295caff4093ec2854fd4b34645 --- src/psbt.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/psbt.h b/src/psbt.h index d5c67802c7..b8c35c9970 100644 --- a/src/psbt.h +++ b/src/psbt.h @@ -862,6 +862,9 @@ struct PSBTOutput std::vector tree_v; s >> tree_v; SpanReader s_tree(s.GetType(), s.GetVersion(), tree_v); + if (s_tree.empty()) { + throw std::ios_base::failure("Output Taproot tree must not be empty"); + } while (!s_tree.empty()) { uint8_t depth; uint8_t leaf_ver; -- cgit v1.2.3