aboutsummaryrefslogtreecommitdiff
path: root/test/parallel/test-buffer-fill.js
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2017-12-02 16:28:35 +0100
committerAnna Henningsen <anna@addaleax.net>2017-12-05 12:35:10 +0100
commit69a68c0b24b68a9f2d3e64fb0f968772f113f813 (patch)
treeb74eed7dc24f39d83a35d7a5409b6d3c122dde3b /test/parallel/test-buffer-fill.js
parentb31626ef986f42d9113200a69940668c79b0f03e (diff)
downloadandroid-node-v8-69a68c0b24b68a9f2d3e64fb0f968772f113f813.tar.gz
android-node-v8-69a68c0b24b68a9f2d3e64fb0f968772f113f813.tar.bz2
android-node-v8-69a68c0b24b68a9f2d3e64fb0f968772f113f813.zip
buffer: zero-fill buffer allocated with invalid content
Zero-fill when `Buffer.alloc()` receives invalid fill data. A solution like https://github.com/nodejs/node/pull/17427 which switches to throwing makes sense, but is likely a breaking change. This suggestion leaves the behaviour of `buffer.fill()` untouched, since any change to it would be a breaking change, and lets `Buffer.alloc()` check whether any filling took place or not. PR-URL: https://github.com/nodejs/node/pull/17428 Refs: https://github.com/nodejs/node/pull/17427 Refs: https://github.com/nodejs/node/issues/17423 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: Ali Ijaz Sheikh <ofrobots@google.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Michaël Zasso <targos@protonmail.com>
Diffstat (limited to 'test/parallel/test-buffer-fill.js')
-rw-r--r--test/parallel/test-buffer-fill.js6
1 files changed, 6 insertions, 0 deletions
diff --git a/test/parallel/test-buffer-fill.js b/test/parallel/test-buffer-fill.js
index 63db4ce13c..681207e95e 100644
--- a/test/parallel/test-buffer-fill.js
+++ b/test/parallel/test-buffer-fill.js
@@ -468,3 +468,9 @@ assert.strictEqual(
assert.strictEqual(
Buffer.allocUnsafeSlow(16).fill('Љ', 'utf8').toString('utf8'),
'Љ'.repeat(8));
+
+{
+ const buf = Buffer.from('a'.repeat(1000));
+ buf.fill('This is not correctly encoded', 'hex');
+ assert.strictEqual(buf.toString(), 'a'.repeat(1000));
+}