commit - 17c6bcc389f815a32eb7f3885f4241e37ff32678
commit + 27f1f2c2ab804f56b2ae8adcc94e4b78896381aa
blob - d649711646645c3e6fb1a86dac043752e2e4f12a
blob + 0ca63943899675409eb9a1cc3289de56fc925bb9
--- pdf.c
+++ pdf.c
dict = H_INDEX_TOKEN(p->ast, 1, 0);
res = H_FIELD(HParseResult, 1, 1); // XXX free this
- xrefs = res->ast;
+ xrefs = res ? res->ast : NULL;
tok = H_MAKE_SEQN(2);
tok->seq->elements[0] = (HParsedToken *)xrefs;
bool
validate_xrstm(HParseResult *p, void *u)
{
+ const HParsedToken *xrefs = H_INDEX_TOKEN(p->ast, 1, 1);
const Dict *tdict = H_FIELD(Dict, 1, 0);
const HParsedToken *v = dictentry(tdict, "Type");
+ if (!xrefs)
+ {
+ fprintf(stderr, "XRef table missing or corrupt!");
+ return false;
+ }
+
#if 0
if (v == NULL)
fprintf(stderr, "stream dict has no /Type\n");