From ad9dd2a41fd79ee706c08dfaef2e2fbd4fa90fd4 Mon Sep 17 00:00:00 2001 From: Braydon Fuller Date: Tue, 14 Jul 2015 09:58:05 -0400 Subject: [PATCH] Check that the public key is valid for outputs. --- lib/script/script.js | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/script/script.js b/lib/script/script.js index 0fe1435..4893f71 100644 --- a/lib/script/script.js +++ b/lib/script/script.js @@ -282,12 +282,16 @@ Script.prototype.isPublicKeyOut = function() { this.chunks[1].opcodenum === Opcode.OP_CHECKSIG) { var pubkeyBuf = this.chunks[0].buf; var version = pubkeyBuf[0]; + var isVersion = false; if ((version === 0x04 || version === 0x06 || version === 0x07) && pubkeyBuf.length === 65) { - return true; + isVersion = true; } else if ((version === 0x03 || version === 0x02) && pubkeyBuf.length === 33) { - return true; + isVersion = true; + } + if (isVersion) { + return PublicKey.isValid(pubkeyBuf); } } return false;