summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrian White <mscdex@mscdex.net>2019-11-12 22:41:12 -0500
committerRich Trott <rtrott@gmail.com>2019-11-29 19:40:52 -0800
commitc14c476614e3134867ddb997bdfe5a41ba668175 (patch)
tree1c2c60cbc5234aa7871f3cb9c64959e8d423af8d
parent48cadcb7aa902ee1af01357a2cf340ae5bc60f87 (diff)
downloadandroid-node-v8-c14c476614e3134867ddb997bdfe5a41ba668175.tar.gz
android-node-v8-c14c476614e3134867ddb997bdfe5a41ba668175.tar.bz2
android-node-v8-c14c476614e3134867ddb997bdfe5a41ba668175.zip
buffer: fix 6-byte writeUIntBE() range check
Fixes: https://github.com/nodejs/node/issues/30420 PR-URL: https://github.com/nodejs/node/pull/30459 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: David Carlier <devnexen@gmail.com> Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: James M Snell <jasnell@gmail.com>
-rw-r--r--lib/internal/buffer.js2
-rw-r--r--test/parallel/test-buffer-writeint.js2
-rw-r--r--test/parallel/test-buffer-writeuint.js2
3 files changed, 3 insertions, 3 deletions
diff --git a/lib/internal/buffer.js b/lib/internal/buffer.js
index 9d86a8e722..a14909e491 100644
--- a/lib/internal/buffer.js
+++ b/lib/internal/buffer.js
@@ -738,7 +738,7 @@ function writeUInt8(value, offset = 0) {
function writeUIntBE(value, offset, byteLength) {
if (byteLength === 6)
- return writeU_Int48BE(this, value, offset, 0, 0xffffffffffffff);
+ return writeU_Int48BE(this, value, offset, 0, 0xffffffffffff);
if (byteLength === 5)
return writeU_Int40BE(this, value, offset, 0, 0xffffffffff);
if (byteLength === 3)
diff --git a/test/parallel/test-buffer-writeint.js b/test/parallel/test-buffer-writeint.js
index 05b0cd1ebb..0e812cc888 100644
--- a/test/parallel/test-buffer-writeint.js
+++ b/test/parallel/test-buffer-writeint.js
@@ -213,7 +213,7 @@ const errorOutOfBounds = common.expectsError({
});
// Test 1 to 6 bytes.
- for (let i = 1; i < 6; i++) {
+ for (let i = 1; i <= 6; i++) {
['writeIntBE', 'writeIntLE'].forEach((fn) => {
const min = -(2 ** (i * 8 - 1));
const max = 2 ** (i * 8 - 1) - 1;
diff --git a/test/parallel/test-buffer-writeuint.js b/test/parallel/test-buffer-writeuint.js
index 3823b74d56..c7708d663e 100644
--- a/test/parallel/test-buffer-writeuint.js
+++ b/test/parallel/test-buffer-writeuint.js
@@ -170,7 +170,7 @@ const assert = require('assert');
});
// Test 1 to 6 bytes.
- for (let i = 1; i < 6; i++) {
+ for (let i = 1; i <= 6; i++) {
const range = i < 5 ? `= ${val - 1}` : ` 2 ** ${i * 8}`;
const received = i > 4 ?
String(val).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, '$1_') :