1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 22:57:44 +00:00

LibWeb: Clamp calculated border width values to zero

Previously, a calculated CSS border-width property with a resolved
value of less than zero pixels would cause a crash.
This commit is contained in:
Tim Ledbetter 2024-02-24 11:17:25 +00:00 committed by Andreas Kling
parent 8addfc14af
commit 588a031e2d
3 changed files with 23 additions and 1 deletions

View file

@ -701,7 +701,7 @@ void NodeWithStyle::apply_style(const CSS::StyleProperties& computed_style)
auto resolve_border_width = [&]() -> CSSPixels {
auto value = computed_style.property(width_property);
if (value->is_calculated())
return value->as_calculated().resolve_length(*this)->to_px(*this);
return max(CSSPixels { 0 }, value->as_calculated().resolve_length(*this)->to_px(*this));
if (value->is_length())
return value->as_length().length().to_px(*this);
if (value->is_identifier()) {