Missing another `this` on `out`, and the bounds checking was totally borked.

Bounds checking bug was preventing the size of the out array from being expanded more than once.
master
Jamison Dance 2011-10-28 12:54:18 -06:00
parent fb15e86c44
commit c1a69341d3
1 changed files with 5 additions and 4 deletions

View File

@ -80,9 +80,10 @@
this.written += headerArr.length;
// this makes sense if the input is greater than 512 bytes
if (headerArr.length + input.length > this.out.length) {
this.out = utils.extend(this.out, headerArr.length, input.length, blockSize);
// If there is not enough space in this.out, we need to expand it to
// fit the new input.
if (this.written + input.length > this.out.length) {
this.out = utils.extend(this.out, this.written, input.length, blockSize);
}
this.out.set(input, this.written);
@ -92,7 +93,7 @@
// make sure there's at least 2 empty records worth of extra space
if (this.out.length - this.written < recordSize * 2) {
this.out = utils.extend(out, this.written, recordSize * 2, blockSize);
this.out = utils.extend(this.out, this.written, recordSize * 2, blockSize);
}
if (typeof callback === 'function') {