From 2632f6ae651b45655be7ce08d7cda733cb19a620 Mon Sep 17 00:00:00 2001 From: Joe Petrus Date: Thu, 10 Mar 2022 18:27:57 -0500 Subject: [PATCH] LibGfx: Abort draw_circle_arc_intersecting with 0 radius In testing a particular website (https://www.icpms.com), WebContent was crashing with infinite recursion in draw_circle_arc_intersecting. Presumably, radius must be > 0 to paint something, so this trivial patch simply returns if radius <= 0. The website in question no longer crashes WebContent. --- Userland/Libraries/LibGfx/Painter.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Userland/Libraries/LibGfx/Painter.cpp b/Userland/Libraries/LibGfx/Painter.cpp index b13a70ddb4..170c57cd0f 100644 --- a/Userland/Libraries/LibGfx/Painter.cpp +++ b/Userland/Libraries/LibGfx/Painter.cpp @@ -428,7 +428,7 @@ void Painter::fill_rounded_corner(IntRect const& a_rect, int radius, Color color void Painter::draw_circle_arc_intersecting(IntRect const& a_rect, IntPoint const& center, int radius, Color color, int thickness) { - if (thickness <= 0) + if (thickness <= 0 || radius <= 0) return; // Care about clipping