diff options
author | Robin Watts <robin@peeves.(none)> | 2011-12-22 02:38:46 -0800 |
---|---|---|
committer | Robin Watts <robin@ghostscript.com> | 2011-12-22 10:41:57 +0000 |
commit | fef4974f61698e929eb9be2a417fd3743bbd5d35 (patch) | |
tree | b639ffbf88462a88583e3ca6e32af5b6b488ba16 | |
parent | 3562831bfbb270c2cc4726780426290118771c66 (diff) | |
download | mupdf-fef4974f61698e929eb9be2a417fd3743bbd5d35.tar.xz |
More MemSqueezing fixes.
-rw-r--r-- | fitz/filt_dctd.c | 10 | ||||
-rw-r--r-- | pdf/pdf_font.c | 3 |
2 files changed, 11 insertions, 2 deletions
diff --git a/fitz/filt_dctd.c b/fitz/filt_dctd.c index 0520c5c8..650adac6 100644 --- a/fitz/filt_dctd.c +++ b/fitz/filt_dctd.c @@ -43,9 +43,17 @@ static boolean fill_input_buffer(j_decompress_ptr cinfo) struct jpeg_source_mgr *src = cinfo->src; fz_dctd *state = cinfo->client_data; fz_stream *chain = state->chain; + fz_context *ctx = chain->ctx; chain->rp = chain->wp; - fz_fill_buffer(chain); + fz_try(ctx) + { + fz_fill_buffer(chain); + } + fz_catch(ctx) + { + return 0; + } src->next_input_byte = chain->rp; src->bytes_in_buffer = chain->wp - chain->rp; diff --git a/pdf/pdf_font.c b/pdf/pdf_font.c index 6df147a4..16223be7 100644 --- a/pdf/pdf_font.c +++ b/pdf/pdf_font.c @@ -412,6 +412,7 @@ pdf_load_simple_font(pdf_xref *xref, fz_obj *dict) fz_context *ctx = xref->ctx; fz_var(fontdesc); + fz_var(etable); basefont = fz_to_name(fz_dict_gets(dict, "BaseFont")); fontname = clean_font_name(basefont); @@ -689,7 +690,7 @@ pdf_load_simple_font(pdf_xref *xref, fz_obj *dict) } fz_catch(ctx) { - if (etable != fontdesc->cid_to_gid) + if (fontdesc && etable != fontdesc->cid_to_gid) fz_free(ctx, etable); pdf_drop_font(ctx, fontdesc); fz_throw(ctx, "cannot load simple font (%d %d R)", fz_to_num(dict), fz_to_gen(dict)); |