Skip to content

Commit

Permalink
Validate that image rect drawing is inside the image so we don't over…
Browse files Browse the repository at this point in the history
…flow a buffer
  • Loading branch information
JeffM2501 committed Aug 25, 2023
1 parent b9a10b5 commit 145ae83
Showing 1 changed file with 14 additions and 0 deletions.
14 changes: 14 additions & 0 deletions src/rtextures.c
Original file line number Diff line number Diff line change
Expand Up @@ -3134,6 +3134,20 @@ void ImageDrawRectangleRec(Image *dst, Rectangle rec, Color color)
if (rec.width < 0) rec.width = 0;
if (rec.height < 0) rec.height = 0;

// clamp the size the the image bounds
if (rec.x + rec.width >= dst->width)
rec.width = dst->width - rec.x;

if (rec.y + rec.height >= dst->height)
rec.height = dst->height - rec.y;

// check if the rect is even inside the image
if (rec.x > dst->width || rec.y > dst->height)
return;

if (rec.x + rec.width < 0 || rec.y + rec.height < 0)
return;

int sy = (int)rec.y;
int sx = (int)rec.x;

Expand Down

0 comments on commit 145ae83

Please sign in to comment.