From eca757247349657f4f911c3b5df2e29b091e0ece Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Fri, 19 Sep 1997 01:32:00 +0200
Subject: [PATCH] Added some more checks to img_box().

Rev: src/modules/Image/blit.c:1.14
---
 src/modules/Image/blit.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/modules/Image/blit.c b/src/modules/Image/blit.c
index b2f235fa1b..1233e7f0ea 100644
--- a/src/modules/Image/blit.c
+++ b/src/modules/Image/blit.c
@@ -1,10 +1,10 @@
-/* $Id: blit.c,v 1.13 1997/09/10 20:16:36 grubba Exp $ */
+/* $Id: blit.c,v 1.14 1997/09/18 23:32:00 grubba Exp $ */
 #include "global.h"
 
 /*
 **! module Image
 **! note
-**!	$Id: blit.c,v 1.13 1997/09/10 20:16:36 grubba Exp $<br>
+**!	$Id: blit.c,v 1.14 1997/09/18 23:32:00 grubba Exp $<br>
 **! class image
 */
 
@@ -593,7 +593,11 @@ void img_box(INT32 x1,INT32 y1,INT32 x2,INT32 y2)
 {   
    if (x1>x2) x1^=x2,x2^=x1,x1^=x2;
    if (y1>y2) y1^=y2,y2^=y1,y1^=y2;
+   if (x2 >= THIS->xsize) x2 = THIS->xsize-1;
+   if (y2 >= THIS->ysize) y2 = THIS->ysize-1;
    if (x2<0||y2<0||x1>=THIS->xsize||y1>=THIS->ysize) return;
+   if (x1<0) x1 = 0;
+   if (y1<0) y1 = 0;
    img_box_nocheck(max(x1,0),max(y1,0),min(x2,THIS->xsize-1),min(y2,THIS->ysize-1));
 }
 
-- 
GitLab