LibWeb: Reject non-finite values in 2D canvas transforms

This commit is contained in:
Andreas Kling 2024-08-15 08:18:36 +02:00 committed by Andreas Kling
commit 8540954bf8
Notes: github-actions[bot] 2024-08-20 07:37:30 +00:00
2 changed files with 8 additions and 3 deletions

View file

@ -24,7 +24,8 @@ public:
void scale(float sx, float sy)
{
dbgln_if(CANVAS_RENDERING_CONTEXT_2D_DEBUG, "CanvasTransform::scale({}, {})", sx, sy);
if (!isfinite(sx) || !isfinite(sy))
return;
my_drawing_state().transform.scale(sx, sy);
flush_transform();
}
@ -32,6 +33,8 @@ public:
void translate(float tx, float ty)
{
dbgln_if(CANVAS_RENDERING_CONTEXT_2D_DEBUG, "CanvasTransform::translate({}, {})", tx, ty);
if (!isfinite(tx) || !isfinite(ty))
return;
my_drawing_state().transform.translate(tx, ty);
flush_transform();
}
@ -39,6 +42,8 @@ public:
void rotate(float radians)
{
dbgln_if(CANVAS_RENDERING_CONTEXT_2D_DEBUG, "CanvasTransform::rotate({})", radians);
if (!isfinite(radians))
return;
my_drawing_state().transform.rotate_radians(radians);
flush_transform();
}