diff options
author | Trevor Norris <trev.norris@gmail.com> | 2016-01-21 14:00:59 -0700 |
---|---|---|
committer | Trevor Norris <trev.norris@gmail.com> | 2016-01-22 11:32:43 -0700 |
commit | 54cd2e1e5e2f67886a78b13dc17473e84b938d16 (patch) | |
tree | 626dffcb2e8f62d9ce208b49b36eba44472197c6 /test/parallel/test-buffer-indexof.js | |
parent | 7240ad44413a096f6611afbcf356acedd8867fa7 (diff) | |
download | android-node-v8-54cd2e1e5e2f67886a78b13dc17473e84b938d16.tar.gz android-node-v8-54cd2e1e5e2f67886a78b13dc17473e84b938d16.tar.bz2 android-node-v8-54cd2e1e5e2f67886a78b13dc17473e84b938d16.zip |
buffer: properly retrieve binary length of needle
If the needle contains an extended latin-1 character then using
String::Utf8Length() will be too large and the search will return early.
Instead use String::Length() when encoding is BINARY.
PR-URL: https://github.com/nodejs/node/pull/4803
Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'test/parallel/test-buffer-indexof.js')
-rw-r--r-- | test/parallel/test-buffer-indexof.js | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/test/parallel/test-buffer-indexof.js b/test/parallel/test-buffer-indexof.js index 83776be80a..b075c3a10d 100644 --- a/test/parallel/test-buffer-indexof.js +++ b/test/parallel/test-buffer-indexof.js @@ -109,6 +109,15 @@ assert.equal( assert.equal( Buffer(b.toString('binary'), 'binary') .indexOf(Buffer('d', 'binary'), 0, 'binary'), 3); +assert.equal( + Buffer('aa\u00e8aa', 'binary') + .indexOf('\u00e8', 'binary'), 2); +assert.equal( + Buffer('\u00e8', 'binary') + .indexOf('\u00e8', 'binary'), 0); +assert.equal( + Buffer('\u00e8', 'binary') + .indexOf(Buffer('\u00e8', 'binary'), 'binary'), 0); // test optional offset with passed encoding |