Skip to content

Commit 6ea9972

Browse files
tim-smartry
authored andcommitted
string.length !== Buffer.byteLength(string)
1 parent 1cf538a commit 6ea9972

1 file changed

Lines changed: 7 additions & 3 deletions

File tree

lib/buffer.js

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ function Buffer (subject, encoding, legacy, slice_legacy) {
111111
break;
112112

113113
case 'string':
114+
length = Buffer.byteLength(subject);
115+
break;
116+
114117
case 'object': // Assume object is an array
115118
length = subject.length;
116119
break;
@@ -186,7 +189,7 @@ Buffer.prototype.set = function set (i, v) {
186189
};
187190

188191

189-
// write(string, offset = 0, encoding = 'uft8')
192+
// write(string, offset = 0, encoding = 'utf8')
190193
Buffer.prototype.write = function write (string, offset, encoding) {
191194
if (!isFinite(offset)) {
192195
var swap = encoding;
@@ -195,11 +198,12 @@ Buffer.prototype.write = function write (string, offset, encoding) {
195198
}
196199

197200
offset || (offset = 0);
198-
encoding || (encoding = 'uft8');
201+
encoding || (encoding = 'utf8');
199202

200203
// Make sure we are not going to overflow
201204
var max_length = this.length - offset;
202-
if (string.length > max_length) {
205+
if (Buffer.byteLength(string) > max_length) {
206+
// FIXME: Char length !== byte length
203207
string = string.slice(0, max_length);
204208
}
205209

0 commit comments

Comments
 (0)