Avoid zero division in setupPageState() function;
properly initialize array in PSDataBW().
This commit is contained in:
parent
9b6b3ab080
commit
0abad54ad0
@ -1,4 +1,4 @@
|
||||
/* $Id: tiff2ps.c,v 1.24 2004-08-23 13:16:54 dron Exp $ */
|
||||
/* $Id: tiff2ps.c,v 1.25 2004-08-25 13:14:18 dron Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 1988-1997 Sam Leffler
|
||||
@ -24,6 +24,8 @@
|
||||
* OF THIS SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "tif_config.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h> /* for atof */
|
||||
#include <math.h>
|
||||
@ -32,6 +34,12 @@
|
||||
|
||||
#include "tiffio.h"
|
||||
|
||||
#ifdef HAVE_GETOPT_H
|
||||
# include <getopt.h>
|
||||
#else
|
||||
extern int getopt(int, char**, char*);
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Revision history
|
||||
*
|
||||
@ -414,9 +422,11 @@ setupPageState(TIFF* tif, uint32* pw, uint32* ph, double* pprw, double* pprh)
|
||||
/*
|
||||
* Calculate printable area.
|
||||
*/
|
||||
if (!TIFFGetField(tif, TIFFTAG_XRESOLUTION, &xres) || !xres)
|
||||
if (!TIFFGetField(tif, TIFFTAG_XRESOLUTION, &xres)
|
||||
|| fabs(xres) < 0.0000001)
|
||||
xres = PS_UNIT_SIZE;
|
||||
if (!TIFFGetField(tif, TIFFTAG_YRESOLUTION, &yres) || !yres)
|
||||
if (!TIFFGetField(tif, TIFFTAG_YRESOLUTION, &yres)
|
||||
|| fabs(yres) < 0.0000001)
|
||||
yres = PS_UNIT_SIZE;
|
||||
switch (res_unit) {
|
||||
case RESUNIT_CENTIMETER:
|
||||
@ -600,7 +610,7 @@ TIFF2PS(FILE* fd, TIFF* tif,
|
||||
}
|
||||
fprintf(fd,
|
||||
"1 dict begin /PageSize [ %f %f ] def currentdict end setpagedevice\n",
|
||||
psw, psh);
|
||||
psw, psh);
|
||||
fputs(
|
||||
"<<\n /Policies <<\n /PageSize 3\n >>\n>> setpagedevice\n",
|
||||
fd);
|
||||
@ -1152,7 +1162,7 @@ int
|
||||
PS_Lvl2page(FILE* fd, TIFF* tif, uint32 w, uint32 h)
|
||||
{
|
||||
uint16 fillorder;
|
||||
int use_rawdata, tiled_image, breaklen;
|
||||
int use_rawdata, tiled_image, breaklen = 0;
|
||||
uint32 chunk_no, num_chunks, *bc;
|
||||
unsigned char *buf_data, *cp;
|
||||
tsize_t chunk_size, byte_count;
|
||||
@ -1608,6 +1618,7 @@ PSDataBW(FILE* fd, TIFF* tif, uint32 w, uint32 h)
|
||||
|
||||
(void) w; (void) h;
|
||||
tf_buf = (unsigned char *) _TIFFmalloc(stripsize);
|
||||
memset(tf_buf, 0, stripsize);
|
||||
if (tf_buf == NULL) {
|
||||
TIFFError(filename, "No space for scanline buffer");
|
||||
return;
|
||||
|
Loading…
Reference in New Issue
Block a user