From 5ded6a37e4342b226bbf00338ee43836a2d18abd Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Wed, 16 Feb 2022 18:50:56 +0000 Subject: Fix some coverity issues. --- base/gdevprn.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'base/gdevprn.c') diff --git a/base/gdevprn.c b/base/gdevprn.c index a78a28cbf..296e97340 100644 --- a/base/gdevprn.c +++ b/base/gdevprn.c @@ -1194,11 +1194,18 @@ gx_render_plane_init(gx_render_plane_t *render_plane, const gx_device *dev, int num_planes = dev->color_info.num_components; int plane_depth = dev->color_info.depth / num_planes; - if (index < 0 || index >= num_planes) + if (index < -1 || index >= num_planes) return_error(gs_error_rangecheck); render_plane->index = index; - render_plane->depth = plane_depth; - render_plane->shift = plane_depth * (num_planes - 1 - index); + if (index == -1) { + /* No plane, chunky results required. */ + render_plane->depth = dev->color_info.depth; + render_plane->shift = 0; + } else { + /* A single plane */ + render_plane->depth = plane_depth; + render_plane->shift = plane_depth * (num_planes - 1 - index); + } return 0; } -- cgit v1.2.1