Skip to content

Commit 9f60b37

Browse files
committed
Merge #11081: Add length check for CExtKey deserialization (jonasschnelli, guidovranken)
07685d1 Add length check for CExtKey deserialization (Jonas Schnelli) Pull request description: Fix a potential overwrite or uninitialised data issue. That code part is currently unused (at least in Bitcoin Core). We already do the same check `CExtPubKey`. Reported by @guidovranken Tree-SHA512: 069ac5335248cf890491bc019537d3b0f7481428a4b240c5cd28ee89b56f4c9f45d947dd626fe89b2fae58472b6dbef57ed909876efe9963e2d72380d17cff12
2 parents c58128f + 07685d1 commit 9f60b37

File tree

1 file changed

+2
-0
lines changed

1 file changed

+2
-0
lines changed

src/key.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -172,6 +172,8 @@ struct CExtKey {
172172
{
173173
unsigned int len = ::ReadCompactSize(s);
174174
unsigned char code[BIP32_EXTKEY_SIZE];
175+
if (len != BIP32_EXTKEY_SIZE)
176+
throw std::runtime_error("Invalid extended key size\n");
175177
s.read((char *)&code[0], len);
176178
Decode(code);
177179
}

0 commit comments

Comments
 (0)