[gs-cvs] rev 8867 - trunk/gs/src
ray at ghostscript.com
ray at ghostscript.com
Wed Jul 23 15:52:50 PDT 2008
Author: ray
Date: 2008-07-23 15:52:50 -0700 (Wed, 23 Jul 2008)
New Revision: 8867
Modified:
trunk/gs/src/gdevprn.c
Log:
Fix possible use of uninitialized variable 'mem_space'. Compute the value
when no-transparency is in effect prior to adding in the space needed for
transparency. Thanks to Michael Vrhel for spotting this.
Modified: trunk/gs/src/gdevprn.c
===================================================================
--- trunk/gs/src/gdevprn.c 2008-07-23 21:55:21 UTC (rev 8866)
+++ trunk/gs/src/gdevprn.c 2008-07-23 22:52:50 UTC (rev 8867)
@@ -279,17 +279,16 @@
memset(ppdev->skip, 0, sizeof(ppdev->skip));
size_ok = ppdev->printer_procs.buf_procs.size_buf_device
(&buf_space, pdev, NULL, pdev->height, false) >= 0;
+ mem_space = buf_space.bits + buf_space.line_ptrs;
if (ppdev->page_uses_transparency) {
pdf14_trans_buffer_size = (ESTIMATED_PDF14_ROW_SPACE(max(1, new_width)) >> 3);
- if (new_height < max_ulong/(mem_space + (new_height * pdf14_trans_buffer_size)))
+ if (new_height < max_ulong/(mem_space + (new_height * pdf14_trans_buffer_size))) {
pdf14_trans_buffer_size *= new_height;
- else {
+ mem_space += pdf14_trans_buffer_size;
+ } else {
size_ok = 0;
- pdf14_trans_buffer_size = 0;
}
}
- mem_space = buf_space.bits + buf_space.line_ptrs
- + pdf14_trans_buffer_size;
/* Compute desired space params: never use the space_params as-is. */
/* Rather, give the dev-specific driver a chance to adjust them. */
More information about the gs-cvs
mailing list