diff options
author | Brian White <mscdex@mscdex.net> | 2019-11-12 22:41:12 -0500 |
---|---|---|
committer | Rich Trott <rtrott@gmail.com> | 2019-11-29 19:40:52 -0800 |
commit | c14c476614e3134867ddb997bdfe5a41ba668175 (patch) | |
tree | 1c2c60cbc5234aa7871f3cb9c64959e8d423af8d | |
parent | 48cadcb7aa902ee1af01357a2cf340ae5bc60f87 (diff) | |
download | android-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.js | 2 | ||||
-rw-r--r-- | test/parallel/test-buffer-writeint.js | 2 | ||||
-rw-r--r-- | test/parallel/test-buffer-writeuint.js | 2 |
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_') : |