summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2015-06-23 12:14:06 +0100
committerKen Sharp <ken.sharp@artifex.com>2015-06-23 12:22:41 +0100
commitf544452718283d4d7122b3c22c1f3991313099ea (patch)
treea73baa1d61506b3ec31c3b44ba7913f801fca1bd
parent6b7de65620163f1a92ce42ef787a0ae4b07ecdef (diff)
downloadghostpdl-f544452718283d4d7122b3c22c1f3991313099ea.tar.gz
Coverity ID #94859 rearrange code to avoid potential NULL pointer dereference
-rw-r--r--gs/devices/vector/gdevpdtd.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gs/devices/vector/gdevpdtd.c b/gs/devices/vector/gdevpdtd.c
index 73f3b819a..029f40f07 100644
--- a/gs/devices/vector/gdevpdtd.c
+++ b/gs/devices/vector/gdevpdtd.c
@@ -267,9 +267,7 @@ int pdf_font_descriptor_free(gx_device_pdf *pdev, pdf_resource_t *pres)
gs_free_copied_font(copied);
if (complete && copied != complete) {
gs_free_copied_font(complete);
- pbfont->complete = 0;
}
- pbfont->copied = 0;
if (pbfont && pbfont->font_name.size) {
gs_free_string(pdev->pdf_memory, pbfont->font_name.data, pbfont->font_name.size, "Free BaseFont FontName string");
pbfont->font_name.data = (byte *)0L;
@@ -278,6 +276,9 @@ int pdf_font_descriptor_free(gx_device_pdf *pdev, pdf_resource_t *pres)
if (pbfont) {
gs_free_object(cos_object_memory(pres->object), pbfont, "Free base font from FontDescriptor)");
pfd->base_font = 0;
+ pbfont->copied = 0;
+ if (complete && copied != complete)
+ pbfont->complete = 0;
}
if (pres->object) {
gs_free_object(cos_object_memory(pres->object), pres->object, "free FontDescriptor object");