Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jjgod/cf39032b839bb3542107 to your computer and use it in GitHub Desktop.
Save jjgod/cf39032b839bb3542107 to your computer and use it in GitHub Desktop.
From 9f094a6f42418cd0c23fabfc7cf0b2e89f3d62d6 Mon Sep 17 00:00:00 2001
From: Jiang Jiang <gzjjgod@gmail.com>
Date: Mon, 28 Jul 2014 09:01:02 +0200
Subject: [PATCH] Correct release of retained cff_charsets
The cff_charsets we retained is owned and cached by cid_opt struct
thus should be released in release_opt() instead of pdf_close_device().
---
texk/dvipdfm-x/ChangeLog | 4 ++++
texk/dvipdfm-x/cid.c | 4 ++++
texk/dvipdfm-x/pdfdev.c | 2 --
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/texk/dvipdfm-x/ChangeLog b/texk/dvipdfm-x/ChangeLog
index 7fdca03..34af2f8 100644
--- a/texk/dvipdfm-x/ChangeLog
+++ b/texk/dvipdfm-x/ChangeLog
@@ -1,3 +1,7 @@
+2014-07-28 Jiang Jiang <gzjjgod@gmail.com>
+
+ * cid.c, pdfdev.c: Correct release of retained cff_charsets.
+
2014-07-27 Jiang Jiang <gzjjgod@gmail.com>
* cff.c, cff.h, cid.c, cid_p.h, cidtype0.c, fontmap.c, fontmap.h,
diff --git a/texk/dvipdfm-x/cid.c b/texk/dvipdfm-x/cid.c
index b82a3b7..90e19bf 100644
--- a/texk/dvipdfm-x/cid.c
+++ b/texk/dvipdfm-x/cid.c
@@ -42,6 +42,8 @@
#include "cid_p.h"
#include "cid.h"
+#include "cff.h"
+
#define CIDFONT_DEBUG 3
#define CIDFONT_DEBUG_STR "CIDFont"
@@ -706,6 +708,8 @@ release_opt (cid_opt *opt)
if (opt->csi->ordering)
RELEASE(opt->csi->ordering);
RELEASE(opt->csi);
+ if (opt->cff_charsets)
+ cff_release_charsets((cff_charsets *) opt->cff_charsets);
}
RELEASE(opt);
}
diff --git a/texk/dvipdfm-x/pdfdev.c b/texk/dvipdfm-x/pdfdev.c
index b7d2d9a..6c0c5d7 100644
--- a/texk/dvipdfm-x/pdfdev.c
+++ b/texk/dvipdfm-x/pdfdev.c
@@ -1321,8 +1321,6 @@ pdf_close_device (void)
RELEASE(dev_fonts[i].tex_name);
if (dev_fonts[i].resource)
pdf_release_obj(dev_fonts[i].resource);
- if (dev_fonts[i].cff_charsets)
- cff_release_charsets(dev_fonts[i].cff_charsets);
dev_fonts[i].tex_name = NULL;
dev_fonts[i].resource = NULL;
dev_fonts[i].cff_charsets = NULL;
--
2.0.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment