aboutsummaryrefslogtreecommitdiff
path: root/test/bun.js
diff options
context:
space:
mode:
authorGravatar Alex Lam S.L <alexlamsl@gmail.com> 2023-02-10 06:26:23 +0200
committerGravatar GitHub <noreply@github.com> 2023-02-09 20:26:23 -0800
commit119120d21ccc3d2424a607f0637b89a5aae871ec (patch)
treec797613b4bca7f97c87a6be252657bda07e886d5 /test/bun.js
parent4bedd3833d4af65b0b87e09d0d471f4f0e983cbf (diff)
downloadbun-119120d21ccc3d2424a607f0637b89a5aae871ec.tar.gz
bun-119120d21ccc3d2424a607f0637b89a5aae871ec.tar.zst
bun-119120d21ccc3d2424a607f0637b89a5aae871ec.zip
[simdutf] workaround validation OOB access (#2031)
Diffstat (limited to 'test/bun.js')
-rw-r--r--test/bun.js/buffer.test.js10
1 files changed, 9 insertions, 1 deletions
diff --git a/test/bun.js/buffer.test.js b/test/bun.js/buffer.test.js
index dba55ffe8..37484328b 100644
--- a/test/bun.js/buffer.test.js
+++ b/test/bun.js/buffer.test.js
@@ -2518,9 +2518,17 @@ test("Buffer.byteLength", () => {
});
it("should not crash on invalid UTF-8 byte sequence", () => {
- const buf = Buffer.from([0xc0, 0xfd]).toString();
+ const buf = Buffer.from([0xc0, 0xfd]);
expect(buf.length).toBe(2);
const str = buf.toString();
expect(str.length).toBe(2);
expect(str).toBe("\uFFFD\uFFFD");
});
+
+it("should not perform out-of-bound access on invalid UTF-8 byte sequence", () => {
+ const buf = Buffer.from([0x01, 0x9a, 0x84, 0x13, 0x12, 0x11, 0x10, 0x09]).subarray(2);
+ expect(buf.length).toBe(6);
+ const str = buf.toString();
+ expect(str.length).toBe(6);
+ expect(str).toBe("\uFFFD\x13\x12\x11\x10\x09");
+});