From 2c4cf00383752127bc27164b491f31ac17bd2478 Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Fri, 9 Mar 2012 15:31:45 +0000 Subject: Fix overeager cleanup code. In the cancel or error case, we cleanup pixmaps left on the draw devices stack. We were cleaning up one layer more in the error code than in normal code, leading to a double free. --- draw/draw_device.c | 3 --- 1 file changed, 3 deletions(-) (limited to 'draw') diff --git a/draw/draw_device.c b/draw/draw_device.c index 65ee5a39..f40c6627 100644 --- a/draw/draw_device.c +++ b/draw/draw_device.c @@ -1582,9 +1582,6 @@ fz_draw_free_user(fz_device *devp) state--; } while(--dev->top > 0); - fz_drop_pixmap(ctx, dev->stack[0].mask); - fz_drop_pixmap(ctx, dev->stack[0].dest); - fz_drop_pixmap(ctx, dev->stack[0].shape); } if (dev->stack != &dev->init_stack[0]) fz_free(ctx, dev->stack); -- cgit v1.2.3 From cfe5b48198b2f56049fcebad5c422c61fea9e97f Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sun, 11 Mar 2012 12:01:34 +0100 Subject: Remove unnecessary assignments. --- draw/draw_scale.c | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) (limited to 'draw') diff --git a/draw/draw_scale.c b/draw/draw_scale.c index 489a2eb9..e758c989 100644 --- a/draw/draw_scale.c +++ b/draw/draw_scale.c @@ -349,16 +349,8 @@ add_weight(fz_weights *weights, int j, int i, fz_scale_filter *filter, weight = (int)(256*f+0.5f); /* Ensure i is in range */ - if (i < 0) - { - i = 0; + if (i < 0 || i >= src_w) return; - } - else if (i >= src_w) - { - i = src_w-1; - return; - } if (weight == 0) { /* We add a fudge factor here to allow for extreme downscales -- cgit v1.2.3