From a2f70da4c9bf14a6e0c4a17cac11a5ab555ce90f Mon Sep 17 00:00:00 2001 From: Matt Ranney Date: Thu, 24 Jun 2010 12:26:23 -0700 Subject: Buffer.copy should copy through sourceEnd, as specified. Improve test-buffer.js to cover all copy error cases. Fix off by one error in string_decoder. --- lib/string_decoder.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/string_decoder.js') diff --git a/lib/string_decoder.js b/lib/string_decoder.js index 2c7ace0ae..7bae2fc47 100644 --- a/lib/string_decoder.js +++ b/lib/string_decoder.js @@ -25,7 +25,7 @@ StringDecoder.prototype.write = function (buffer) { : buffer.length; // add the new bytes to the char buffer - buffer.copy(this.charBuffer, this.charReceived, 0, i); + buffer.copy(this.charBuffer, this.charReceived, 0, (i - 1)); this.charReceived += i; if (this.charReceived < this.charLength) { @@ -79,7 +79,7 @@ StringDecoder.prototype.write = function (buffer) { } // buffer the incomplete character bytes we got - buffer.copy(this.charBuffer, 0, buffer.length - i, buffer.length); + buffer.copy(this.charBuffer, 0, buffer.length - i, (buffer.length - 1)); this.charReceived = i; if (buffer.length - i > 0) { -- cgit v1.2.1