Fixed bug 2868 - SDL_FillRect can crash if surface's clip-rect is out-of-bounds Thanks to John Skaller for the research into this, and for the fix!
diff --git a/src/video/SDL_fillrect.c b/src/video/SDL_fillrect.c
index 5f343ea..8470784 100644
--- a/src/video/SDL_fillrect.c
+++ b/src/video/SDL_fillrect.c
@@ -251,6 +251,10 @@ SDL_FillRect(SDL_Surface * dst, const SDL_Rect * rect, Uint32 color)
rect = &clipped;
} else {
rect = &dst->clip_rect;
+ /* Don't attempt to fill if the surface's clip_rect is empty */
+ if (SDL_RectEmpty(rect)) {
+ return 0;
+ }
}
/* Perform software fill */