servo/components
Andrei Volykhin 95ee5708fa
imagedata: Fix overflow panic for too large ImageData (#36569)
In Servo debug build there are runtime crash due to "attempt to multiply
with overflow" panic
in case of creation too large ImageData (new ImageData(1<<31, 1<<31))

Use checked integer multiplication to catch occurred overflow
and throwing JS error (RangeError OR IndexSizeError).

--
- [x] ./mach build -d does not report any errors
- [x] ./mach test-tidy does not report any errors
- [x] There are tests for these changes

tests/wpt/tests/html/canvas/element/pixel-manipulation/2d.imageData.object.ctor.basics.html

Signed-off-by: Andrei Volykhin <andrei.volykhin@gmail.com>
2025-04-17 06:41:23 +00:00
..
allocator Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
background_hang_monitor Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
bluetooth Replace bluetooth Readme with corrected version from devices repository (#36429) 2025-04-10 18:02:45 +00:00
canvas compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
compositing libservo: Expose a ServoBuilder (#36549) 2025-04-16 16:58:52 +00:00
config Remove unused pref: dom_forcetouch_enabled (#36524) 2025-04-15 02:18:11 +00:00
constellation Revert "compositor: Unify the cross process and in-process API (#36443)" (#36533) 2025-04-15 09:15:14 +00:00
deny_public_fields Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
devtools Devtools: initial Debugger > Sources panel (#36164) 2025-04-08 09:22:53 +00:00
dom_struct script: Feature-gate all crown support. (#35055) 2025-01-18 21:36:15 +00:00
domobject_derive Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
fonts Update FetchTaskTarget to propagate CSP violations. (#36409) 2025-04-13 20:54:59 +00:00
geometry servoshell: Allow overriding screen resolution with a command-line argument (#34038) 2024-10-30 11:54:13 +00:00
hyper_serde Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
jstraceable_derive Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
layout_2020 layout: Throw away nested marker elements instead of storing them in a BoxSlot (#36568) 2025-04-16 15:32:48 +00:00
layout_thread_2020 compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
malloc_size_of Cleanup Stylo dependencies (#36046) 2025-03-19 08:53:26 +00:00
media compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
metrics Move ScriptToConstellationMsg to constellation_traits (#36364) 2025-04-05 22:13:29 +00:00
net resources: Remove baked in resources (#36042) 2025-04-17 05:12:44 +00:00
pixels Organize component Cargo.toml dependencies (#36224) 2025-03-30 19:03:54 +00:00
profile Make the memory reporting multi-process aware (#35863) 2025-04-05 05:42:12 +00:00
rand Migrate to the 2024 edition (#35755) 2025-03-13 10:28:11 +00:00
range Add rust-version to all Cargo.toml files (#33483) 2024-09-17 16:39:07 +00:00
script imagedata: Fix overflow panic for too large ImageData (#36569) 2025-04-17 06:41:23 +00:00
script_bindings Fix crash when enumerating properties of global object (#36491) 2025-04-17 03:32:53 +00:00
servo libservo: Expose a ServoBuilder (#36549) 2025-04-16 16:58:52 +00:00
shared resources: Remove baked in resources (#36042) 2025-04-17 05:12:44 +00:00
timers Update rustfmt to the 2024 style edition (#35764) 2025-03-03 11:26:53 +00:00
url Check all ancestor navigable trustworthiness for mixed content (#36157) 2025-04-05 05:38:24 +00:00
webdriver_server Implement GetComputedRole in wd (#36552) 2025-04-16 03:55:15 +00:00
webgpu compositing: Combine webrender_traits and compositing_traits (#36372) 2025-04-06 17:34:18 +00:00
webxr libservo: Expose a ServoBuilder (#36549) 2025-04-16 16:58:52 +00:00