From ff7608ffe1b0030ada5ace05ed328ace276e34bc Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Wed, 13 Jul 2016 16:37:00 +0100 Subject: Fix memory leaks in SVG device. --- source/fitz/svg-device.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/source/fitz/svg-device.c b/source/fitz/svg-device.c index 5a3657b3..2ca56796 100644 --- a/source/fitz/svg-device.c +++ b/source/fitz/svg-device.c @@ -379,6 +379,7 @@ svg_dev_text_span_as_paths_defs(fz_context *ctx, fz_device *dev, fz_text_span *s fz_printf(ctx, out, "\n"); + fz_drop_path(ctx, path); } else { @@ -1084,9 +1085,17 @@ static void svg_dev_drop_device(fz_context *ctx, fz_device *dev) { svg_device *sdev = (svg_device*)dev; + int i; + fz_free(ctx, sdev->tiles); fz_drop_buffer(ctx, sdev->defs_buffer); fz_drop_output(ctx, sdev->defs); + for (i = 0; i < sdev->num_fonts; i++) + { + fz_drop_font(ctx, sdev->fonts[i].font); + fz_free(ctx, sdev->fonts[i].sentlist); + } + fz_free(ctx, sdev->fonts); } fz_device *fz_new_svg_device(fz_context *ctx, fz_output *out, float page_width, float page_height) -- cgit v1.2.3