2021-08-11 22:12:26 +01:00
|
|
|
test("Issue #9336, integer overflow in get_view_value", () => {
|
|
|
|
|
const dataView = new DataView(new ArrayBuffer(16));
|
|
|
|
|
expect(() => {
|
|
|
|
|
dataView.getUint32(0xfffffffc);
|
2025-10-31 11:50:48 -04:00
|
|
|
}).toThrowWithMessage(RangeError, "Data view byte offset 4294967292 is out of range for buffer with length 16");
|
2021-08-11 22:12:26 +01:00
|
|
|
});
|
2021-08-11 22:16:25 +01:00
|
|
|
|
|
|
|
|
test("Issue #9338, integer overflow in set_view_value", () => {
|
|
|
|
|
const dataView = new DataView(new ArrayBuffer(16));
|
|
|
|
|
expect(() => {
|
|
|
|
|
dataView.setUint32(0xfffffffc, 0);
|
2025-10-31 11:50:48 -04:00
|
|
|
}).toThrowWithMessage(RangeError, "Data view byte offset 4294967292 is out of range for buffer with length 16");
|
2021-08-11 22:16:25 +01:00
|
|
|
});
|
|
|
|
|
|
|
|
|
|
test("Issue #9338, integer overflow in set_view_value - zero-length DataView", () => {
|
|
|
|
|
const dataView = new DataView(new ArrayBuffer(4), 4);
|
|
|
|
|
expect(() => {
|
|
|
|
|
dataView.setUint32(0xfffffffc, 0);
|
2025-10-31 11:50:48 -04:00
|
|
|
}).toThrowWithMessage(RangeError, "Data view byte offset 4294967292 is out of range for buffer with length 0");
|
2021-08-11 22:16:25 +01:00
|
|
|
});
|