diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2020-06-03 18:32:56 +0100 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2020-06-03 18:35:11 +0100 |
commit | ff02973645a9aff2caf1bcd3032f119995e0d63f (patch) | |
tree | 670dc4d818f3b13f67afa2f9af39e87978aa8bd0 /base/gxdownscale.c | |
parent | 89f3dba59d801dd7c586d81d996ea8d641e1018a (diff) | |
download | ghostpdl-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.c | 8 |
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 */ |