summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2003-03-23 17:32:07 +0000
committerDana Jansens <danakj@orodu.net>2003-03-23 17:32:07 +0000
commit6adb3d44544f0c740b63b07d2f9cfb9a1a83814a (patch)
tree83b0f84f0bfe9fc67846a086cff9a199115cab7f /render
parent39946832001bd205f764a36fbdae17bc53d1fb35 (diff)
add more size checks
Diffstat (limited to 'render')
-rw-r--r--render/render.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/render/render.c b/render/render.c
index 7129974c..397cebfa 100644
--- a/render/render.c
+++ b/render/render.c
@@ -92,7 +92,7 @@ void x_paint(Window win, Appearance *l, int x, int y, int w, int h)
XImage *im = NULL;
Pixmap oldp;
- if (w <= 0 || h <= 0) return;
+ if (w <= 0 || h <= 0 || x+w <= 0 || y+h <= 0) return;
g_assert(l->surface.type == Surface_Planar);
@@ -106,8 +106,7 @@ void x_paint(Window win, Appearance *l, int x, int y, int w, int h)
render_colormap);
g_assert(l->xftdraw != NULL);
- if (l->surface.data.planar.pixel_data != NULL)
- g_free(l->surface.data.planar.pixel_data);
+ g_free(l->surface.data.planar.pixel_data);
l->surface.data.planar.pixel_data = g_new(pixel32, w * h);
if (l->surface.data.planar.grad == Background_Solid)