summaryrefslogtreecommitdiff
path: root/pcl/pcl/pcpalet.c
diff options
context:
space:
mode:
authorJulian Smith <julian.smith@artifex.com>2022-01-17 14:55:20 +0000
committerJulian Smith <julian.smith@artifex.com>2022-01-17 16:15:35 +0000
commit7a92e712874a44fe77bfe220ea695391661a4988 (patch)
tree08afff51d6b73fdb1486ba30f6e4efecf8711f90 /pcl/pcl/pcpalet.c
parentd2a2fed728cbb10346b4e735b4fc783988ef4be4 (diff)
downloadghostpdl-7a92e712874a44fe77bfe220ea695391661a4988.tar.gz
pcl/pcl/: fix leak of pcs->pwhite_cs.
E.g. avoids Memento leak in: ./ghostpdl/mem-extract-bin/gpcl6 -dNOPAUSE -dBATCH -sDEVICE=ppmraw -o gpcl6.out ghostpdl/pcl/examples/fills.pcl Also added added comments to encourage frgrnd_do_reset() and pcl_free_default_objects() to be kept in step with each other.
Diffstat (limited to 'pcl/pcl/pcpalet.c')
-rw-r--r--pcl/pcl/pcpalet.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pcl/pcl/pcpalet.c b/pcl/pcl/pcpalet.c
index 554e2851f..90a46f933 100644
--- a/pcl/pcl/pcpalet.c
+++ b/pcl/pcl/pcpalet.c
@@ -70,8 +70,11 @@ pcl_free_default_objects(gs_memory_t * mem, pcl_state_t * pcs)
gs_free_object(mem, ppalette, "free_default_palette ppalette free");
pcs->pdflt_palette = 0;
}
+ /* We make similar calls here to frgrnd_do_reset(); probably need to keep
+ synced. */
rc_decrement(pcs->pfrgrnd, "free foreground");
rc_decrement(pcs->pdflt_frgrnd, "free default foreground");
+ rc_decrement(pcs->pwhite_cs, "foreground reset p_white_cs");
/* what on earth is this? */
rc_decrement(pcs->pdflt_ht, "free_default_palette pdflt_ht release");
rc_decrement(pcs->pdflt_ht, "free_default_palette pdflt_ht release");