From 9fe1f6bd898ab1a69fbce2cb9dd93fcbb60b88fd Mon Sep 17 00:00:00 2001 From: Jonas Schnelli Date: Thu, 17 Aug 2017 21:54:23 +0200 Subject: [PATCH] Add length check for CExtKey deserialization Github-Pull: #11081 Rebased-From: 07685d1bc1b0b815c00a68a5b7b335ffa0d4d90d Tree-SHA512: 7f6b9ca6714d059d500531eb842c1c25edfa04ecba0ea1d9a28010fced657c066cea67d2016bbaa9b96c431a05ca9c0dcf2ba301898ecf96a65a4e01aac7fae9 --- src/key.h | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/key.h b/src/key.h index 2c6f15172..151e63531 100644 --- a/src/key.h +++ b/src/key.h @@ -172,6 +172,8 @@ struct CExtKey { { unsigned int len = ::ReadCompactSize(s); unsigned char code[BIP32_EXTKEY_SIZE]; + if (len != BIP32_EXTKEY_SIZE) + throw std::runtime_error("Invalid extended key size\n"); s.read((char *)&code[0], len); Decode(code); }