summaryrefslogtreecommitdiff
path: root/source/pdf
diff options
context:
space:
mode:
Diffstat (limited to 'source/pdf')
-rw-r--r--source/pdf/pdf-interpret.c2
-rw-r--r--source/pdf/pdf-xobject.c3
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;