From 64431a99093c7c51d0dc8535ccdd5baccc9d862e Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Mon, 3 Mar 2014 17:17:37 -0800 Subject: [PATCH] Avoid extra allocations in ensureBuffer() caused by an off-by-one error. --- src/core/stream.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/core/stream.js b/src/core/stream.js index 696833f2e..eac6b3c05 100644 --- a/src/core/stream.js +++ b/src/core/stream.js @@ -108,9 +108,15 @@ var DecodeStream = (function DecodeStreamClosure() { DecodeStream.prototype = { ensureBuffer: function DecodeStream_ensureBuffer(requested) { var buffer = this.buffer; - var current = buffer ? buffer.byteLength : 0; - if (requested < current) - return buffer; + var current; + if (buffer) { + current = buffer.byteLength; + if (requested <= current) { + return buffer; + } + } else { + current = 0; + } var size = 512; while (size < requested) size <<= 1;