diff options
author | Sebastian Rasmussen <sebras@gmail.com> | 2018-09-25 14:13:57 +0200 |
---|---|---|
committer | Sebastian Rasmussen <sebras@gmail.com> | 2018-10-12 15:50:49 +0800 |
commit | a9c1167e3b9696b87977341c2df88607bae79913 (patch) | |
tree | 9d2b7c2325222870abf240cda0091518a73a75da /source | |
parent | 5fe292e6b0466ac6d331ad8ed7f9ea1b47aab579 (diff) | |
download | mupdf-a9c1167e3b9696b87977341c2df88607bae79913.tar.xz |
Drop CMAP upon exception.
Diffstat (limited to 'source')
-rw-r--r-- | source/pdf/pdf-unicode.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/source/pdf/pdf-unicode.c b/source/pdf/pdf-unicode.c index 2b61be97..fc4409c4 100644 --- a/source/pdf/pdf-unicode.c +++ b/source/pdf/pdf-unicode.c @@ -83,8 +83,12 @@ pdf_load_to_unicode(fz_context *ctx, pdf_document *doc, pdf_font_desc *font, if (pdf_is_stream(ctx, cmapstm)) { pdf_cmap *ucs_from_cpt = pdf_load_embedded_cmap(ctx, doc, cmapstm); - font->to_unicode = pdf_remap_cmap(ctx, font->encoding, ucs_from_cpt); - pdf_drop_cmap(ctx, ucs_from_cpt); + fz_try(ctx) + font->to_unicode = pdf_remap_cmap(ctx, font->encoding, ucs_from_cpt); + fz_always(ctx) + pdf_drop_cmap(ctx, ucs_from_cpt); + fz_catch(ctx) + fz_rethrow(ctx); font->size += pdf_cmap_size(ctx, font->to_unicode); } |