diff --git a/lib/bcoin/utils.js b/lib/bcoin/utils.js index 923e743e..3ce00ded 100644 --- a/lib/bcoin/utils.js +++ b/lib/bcoin/utils.js @@ -1450,16 +1450,10 @@ utils.readVarint = function readVarint(arr, off) { r = utils.readU32(arr, off + 1); bytes = 5; } else if (arr[off] === 0xff) { - try { - r = utils.readU64(arr, off + 1).toNumber(); - } catch (e) { - r = 0; - } + r = utils.readU64N(arr, off + 1); bytes = 9; } else { - // Malformed - r = arr[off]; - bytes = 1; + assert(false, 'Malformed varint.'); } return { off: off + bytes, r: r }; @@ -1501,7 +1495,8 @@ utils.writeVarint = function writeVarint(dst, num, off) { } dst[off] = 0xff; - utils.writeU64(dst, num, off + 1); + utils.writeU64N(dst, num, off + 1); + return 9; };