From 5782fdcd8c516fd8cc236beefbd9c91e03957f6a Mon Sep 17 00:00:00 2001 From: Gregory Sanders Date: Thu, 8 Nov 2018 10:33:05 -0500 Subject: Throw error if CPubKey is invalid during PSBT keypath serialization Github-Pull: #14690 Rebased-From: 4e4de10f69d5d705256cadfb15d76314dff16e77 --- src/script/sign.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/script/sign.h b/src/script/sign.h index 7ade715ee2..245b15410f 100644 --- a/src/script/sign.h +++ b/src/script/sign.h @@ -188,6 +188,9 @@ template void SerializeHDKeypaths(Stream& s, const std::map>& hd_keypaths, uint8_t type) { for (auto keypath_pair : hd_keypaths) { + if (!keypath_pair.first.IsValid()) { + throw std::ios_base::failure("Invalid CPubKey being serialized"); + } SerializeToVector(s, type, MakeSpan(keypath_pair.first)); WriteCompactSize(s, keypath_pair.second.size() * sizeof(uint32_t)); for (auto& path : keypath_pair.second) { -- cgit v1.2.3