bufferutils/script: allow for invalid pushDatInts, fixes

This commit is contained in:
Daniel Cousens 2015-03-04 20:48:28 +11:00
parent 2f100e0eae
commit ec66ca9b1a
2 changed files with 7 additions and 1 deletions

View file

@ -27,16 +27,19 @@ function readPushDataInt (buffer, offset) {
// 8 bit
} else if (opcode === opcodes.OP_PUSHDATA1) {
if (offset + 2 > buffer.length) return null
number = buffer.readUInt8(offset + 1)
size = 2
// 16 bit
} else if (opcode === opcodes.OP_PUSHDATA2) {
if (offset + 3 > buffer.length) return null
number = buffer.readUInt16LE(offset + 1)
size = 3
// 32 bit
} else {
if (offset + 5 > buffer.length) return null
assert.equal(opcode, opcodes.OP_PUSHDATA4, 'Unexpected opcode')
number = buffer.readUInt32LE(offset + 1)