DataView-invalid-read-and-write.js 998 B

1234567891011121314151617181920212223242526272829
  1. test("Issue #9336, integer overflow in get_view_value", () => {
  2. const dataView = new DataView(new ArrayBuffer(16));
  3. expect(() => {
  4. dataView.getUint32(0xfffffffc);
  5. }).toThrowWithMessage(
  6. RangeError,
  7. "Data view byte offset 4294967292 is out of range for buffer with length 16"
  8. );
  9. });
  10. test("Issue #9338, integer overflow in set_view_value", () => {
  11. const dataView = new DataView(new ArrayBuffer(16));
  12. expect(() => {
  13. dataView.setUint32(0xfffffffc, 0);
  14. }).toThrowWithMessage(
  15. RangeError,
  16. "Data view byte offset 4294967292 is out of range for buffer with length 16"
  17. );
  18. });
  19. test("Issue #9338, integer overflow in set_view_value - zero-length DataView", () => {
  20. const dataView = new DataView(new ArrayBuffer(4), 4);
  21. expect(() => {
  22. dataView.setUint32(0xfffffffc, 0);
  23. }).toThrowWithMessage(
  24. RangeError,
  25. "Data view byte offset 4294967292 is out of range for buffer with length 0"
  26. );
  27. });