From d34d3b123fa404e57c6b64d89a61a8f28c05ae5b Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sat, 1 Oct 2016 13:04:25 +0800 Subject: html: Fix leak of buffer when opening as stream. --- source/html/html-doc.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'source/html/html-doc.c') diff --git a/source/html/html-doc.c b/source/html/html-doc.c index 3567723e..fdd087dc 100644 --- a/source/html/html-doc.c +++ b/source/html/html-doc.c @@ -165,9 +165,16 @@ htdoc_open_document(fz_context *ctx, const char *filename) doc->set = fz_new_html_font_set(ctx); buf = fz_read_file(ctx, filename); - fz_write_buffer_byte(ctx, buf, 0); - doc->box = fz_parse_html(ctx, doc->set, doc->zip, ".", buf, fz_user_css(ctx)); - fz_drop_buffer(ctx, buf); + + fz_try(ctx) + { + fz_write_buffer_byte(ctx, buf, 0); + doc->box = fz_parse_html(ctx, doc->set, doc->zip, ".", buf, fz_user_css(ctx)); + } + fz_always(ctx) + fz_drop_buffer(ctx, buf); + fz_catch(ctx) + fz_rethrow(ctx); return (fz_document*)doc; } -- cgit v1.2.3