summaryrefslogtreecommitdiff
path: root/base/gxdownscale.c
diff options
context:
space:
mode:
authorRobin Watts <Robin.Watts@artifex.com>2020-06-03 18:32:56 +0100
committerRobin Watts <Robin.Watts@artifex.com>2020-06-03 18:35:11 +0100
commitff02973645a9aff2caf1bcd3032f119995e0d63f (patch)
tree670dc4d818f3b13f67afa2f9af39e87978aa8bd0 /base/gxdownscale.c
parent89f3dba59d801dd7c586d81d996ea8d641e1018a (diff)
downloadghostpdl-ff02973645a9aff2caf1bcd3032f119995e0d63f.tar.gz
Fix coverity 359151.
Check ds->dev is non NULL before dereferencing it.
Diffstat (limited to 'base/gxdownscale.c')
-rw-r--r--base/gxdownscale.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/base/gxdownscale.c b/base/gxdownscale.c
index af8e064af..867365b0a 100644
--- a/base/gxdownscale.c
+++ b/base/gxdownscale.c
@@ -2761,11 +2761,17 @@ gx_downscaler_init_trapped_cm_halftone(gx_downscaler_t *ds,
void gx_downscaler_fin(gx_downscaler_t *ds)
{
int plane;
+
+ if (ds->dev == NULL)
+ return;
+
for (plane=0; plane < GS_CLIENT_COLOR_MAX_COMPONENTS; plane++) {
gs_free_object(ds->dev->memory, ds->pre_cm[plane],
"gx_downscaler(planar_data)");
gs_free_object(ds->dev->memory, ds->post_cm[plane],
"gx_downscaler(planar_data)");
+ ds->pre_cm[plane] = NULL;
+ ds->post_cm[plane] = NULL;
}
ds->num_planes = 0;
@@ -2781,9 +2787,11 @@ void gx_downscaler_fin(gx_downscaler_t *ds)
if (ds->liner)
ds->liner->drop(ds->liner, ds->dev->memory);
+ ds->liner = NULL;
if (ds->ets_config)
ets_destroy(ds->dev->memory, ds->ets_config);
+ ds->ets_config = NULL;
}
/* Chunky case */