add more size checks
Dana Jansens danakj@orodu.net
1 files changed,
2 insertions(+),
3 deletions(-)
jump to
M
render/render.c
→
render/render.c
@@ -92,7 +92,7 @@ int i;
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 @@ l->xftdraw = XftDrawCreate(ob_display, l->pixmap, render_visual,
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)