diff options
Diffstat (limited to 'source')
-rw-r--r-- | source/pdf/pdf-interpret.c | 2 | ||||
-rw-r--r-- | source/pdf/pdf-xobject.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/source/pdf/pdf-interpret.c b/source/pdf/pdf-interpret.c index 6ce63eb6..3aeeeae7 100644 --- a/source/pdf/pdf-interpret.c +++ b/source/pdf/pdf-interpret.c @@ -264,8 +264,6 @@ pdf_process_extgstate(fz_context *ctx, pdf_processor *proc, pdf_csi *csi, pdf_ob fz_var(xobj); group = pdf_dict_get(ctx, obj, PDF_NAME_G); - if (!group) - fz_throw(ctx, FZ_ERROR_SYNTAX, "cannot load softmask xobject (%d 0 R)", pdf_to_num(ctx, obj)); xobj = pdf_load_xobject(ctx, csi->doc, group); fz_try(ctx) diff --git a/source/pdf/pdf-xobject.c b/source/pdf/pdf-xobject.c index c7b03a4e..38a31c48 100644 --- a/source/pdf/pdf-xobject.c +++ b/source/pdf/pdf-xobject.c @@ -97,6 +97,9 @@ pdf_load_xobject(fz_context *ctx, pdf_document *doc, pdf_obj *dict) { pdf_xobject *form; + if (!pdf_is_stream(ctx, dict)) + fz_throw(ctx, FZ_ERROR_SYNTAX, "XObject must be a stream"); + if ((form = pdf_find_item(ctx, pdf_drop_xobject_imp, dict)) != NULL) return form; |