summaryrefslogtreecommitdiff
path: root/Build/source/texk/dvipdfm-x/pdfnames.c
diff options
context:
space:
mode:
authorAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-09-01 21:04:17 +0000
committerAkira Kakuto <kakuto@fuk.kindai.ac.jp>2020-09-01 21:04:17 +0000
commit2b5a52bde31bedbb69ab710e37e6daee52647b59 (patch)
tree4fe514018b3df3aac8ec3db3fed682416dbfa608 /Build/source/texk/dvipdfm-x/pdfnames.c
parent0fb16338aa6fe27e03efc9d7cb939d2c5cedec41 (diff)
Fix an incompatible behavior introduced by the previous changes on the named object (rev.55887). (S. Hirara)
git-svn-id: svn://tug.org/texlive/trunk@56234 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/dvipdfm-x/pdfnames.c')
-rw-r--r--Build/source/texk/dvipdfm-x/pdfnames.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/Build/source/texk/dvipdfm-x/pdfnames.c b/Build/source/texk/dvipdfm-x/pdfnames.c
index c6df49c0d43..103faaf6c63 100644
--- a/Build/source/texk/dvipdfm-x/pdfnames.c
+++ b/Build/source/texk/dvipdfm-x/pdfnames.c
@@ -224,8 +224,13 @@ pdf_names_lookup_reference (struct ht_table *names, const void *key, int keylen)
value = ht_lookup_table(names, key, keylen);
if (value) {
- if (!value->reference)
- value->reference = pdf_ref_obj(value->object);
+ if (!value->reference) {
+ if (value->object) {
+ value->reference = pdf_ref_obj(value->object);
+ } else {
+ WARN("Can't create object ref for already released object: %s", printable_key(key, keylen));
+ }
+ }
obj_ref = pdf_link_obj(value->reference);
} else {
/* A null object as dummy would create problems because as value
@@ -273,8 +278,10 @@ pdf_names_close_object (struct ht_table *names, const void *key, int keylen)
return -1;
}
- pdf_release_obj(value->object);
- value->object = NULL;
+ if (value->reference) {
+ pdf_release_obj(value->object);
+ value->object = NULL;
+ }
value->closed = 1;
return 0;