opcode: do not continue reading after a bad push.
This commit is contained in:
parent
d89678eaac
commit
8b035fd9a8
@ -125,6 +125,7 @@ Opcode.prototype.fromReader = function fromReader(br) {
|
||||
if (op >= 0x01 && op <= 0x4b) {
|
||||
if (br.left() < op) {
|
||||
this.value = -1;
|
||||
br.seek(br.left());
|
||||
return this;
|
||||
}
|
||||
this.value = op;
|
||||
@ -141,6 +142,7 @@ Opcode.prototype.fromReader = function fromReader(br) {
|
||||
size = br.readU8();
|
||||
if (br.left() < size) {
|
||||
this.value = -1;
|
||||
br.seek(br.left());
|
||||
break;
|
||||
}
|
||||
this.value = op;
|
||||
@ -149,11 +151,13 @@ Opcode.prototype.fromReader = function fromReader(br) {
|
||||
case opcodes.OP_PUSHDATA2:
|
||||
if (br.left() < 2) {
|
||||
this.value = -1;
|
||||
br.seek(br.left());
|
||||
break;
|
||||
}
|
||||
size = br.readU16();
|
||||
if (br.left() < size) {
|
||||
this.value = -1;
|
||||
br.seek(br.left());
|
||||
break;
|
||||
}
|
||||
this.value = op;
|
||||
@ -162,11 +166,13 @@ Opcode.prototype.fromReader = function fromReader(br) {
|
||||
case opcodes.OP_PUSHDATA4:
|
||||
if (br.left() < 4) {
|
||||
this.value = -1;
|
||||
br.seek(br.left());
|
||||
break;
|
||||
}
|
||||
size = br.readU32();
|
||||
if (br.left() < size) {
|
||||
this.value = -1;
|
||||
br.seek(br.left());
|
||||
break;
|
||||
}
|
||||
this.value = op;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user