Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 78706 - bad source code
Summary: bad source code
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: libtiff
Version: 8.0
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Matthias Clasen
QA Contact:
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2002-11-27 23:27 UTC by d.binderman
Modified: 2007-04-18 16:48 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2004-05-19 20:22:27 UTC


Attachments (Terms of Use)

Description d.binderman 2002-11-27 23:27:38 UTC
Description of Problem:

Hello there,

I just tried to compile package libtiff-3.5.7-7 from Redhat 8.0.

Here are some of the compiler messages.

../tools/fax2tiff.c:77: warning: `whandler' might be used uninitialized in this
function
../tools/ppm2tiff.c:61: warning: `photometric' might be used uninitialized in this function
../tools/ppm2tiff.c:67: warning: `spp' might be used uninitialized in this function
../tools/tiff2ps.c:948: warning: `breaklen' might be used uninitialized in this
function
../tools/tiffmedian.c:406: warning: `first' might be used uninitialized in this
function
../tools/tiffmedian.c:406: warning: `last' might be used uninitialized in this function
../tools/tiffset.c:89: warning: too few arguments for format
../tools/tiffset.c:115: warning: too few arguments for format

Here is a patch which fixes the messages.

*** ./tools/fax2tiff.c.old	2002-11-13 10:33:06.000000000 +0000
--- ./tools/fax2tiff.c	2002-11-13 10:33:19.000000000 +0000
***************
*** 74,80 ****
  {
  	FILE *in;
  	TIFF *out = NULL;
! 	TIFFErrorHandler whandler;
  	int compression = COMPRESSION_CCITTFAX3;
  	int fillorder = FILLORDER_LSB2MSB;
  	uint32 group3options = GROUP3OPT_FILLBITS|GROUP3OPT_2DENCODING;
--- 74,80 ----
  {
  	FILE *in;
  	TIFF *out = NULL;
! 	TIFFErrorHandler whandler = 0;
  	int compression = COMPRESSION_CCITTFAX3;
  	int fillorder = FILLORDER_LSB2MSB;
  	uint32 group3options = GROUP3OPT_FILLBITS|GROUP3OPT_2DENCODING;
*** ./tools/ppm2tiff.c.old	2002-11-13 10:33:38.000000000 +0000
--- ./tools/ppm2tiff.c	2002-11-13 10:34:02.000000000 +0000
***************
*** 58,70 ****
  int
  main(int argc, char* argv[])
  {
! 	uint16 photometric;
  	uint32 rowsperstrip = (uint32) -1;
  	double resolution = -1;
  	unsigned char *buf = NULL;
  	uint32 row;
  	tsize_t linebytes;
! 	uint16 spp;
  	TIFF *out;
  	FILE *in;
  	uint32 w, h;
--- 58,70 ----
  int
  main(int argc, char* argv[])
  {
! 	uint16 photometric = 0;
  	uint32 rowsperstrip = (uint32) -1;
  	double resolution = -1;
  	unsigned char *buf = NULL;
  	uint32 row;
  	tsize_t linebytes;
! 	uint16 spp = 0;
  	TIFF *out;
  	FILE *in;
  	uint32 w, h;
*** ./tools/tiff2ps.c.old	2002-11-13 10:34:23.000000000 +0000
--- ./tools/tiff2ps.c	2002-11-13 10:34:40.000000000 +0000
***************
*** 945,951 ****
  PS_Lvl2page(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  {
  	uint16 fillorder;
! 	int use_rawdata, tiled_image, breaklen;
  	uint32 chunk_no, num_chunks, *bc;
  	unsigned char *buf_data, *cp;
  	tsize_t chunk_size, byte_count;
--- 945,951 ----
  PS_Lvl2page(FILE* fd, TIFF* tif, uint32 w, uint32 h)
  {
  	uint16 fillorder;
! 	int use_rawdata, tiled_image, breaklen = 0;
  	uint32 chunk_no, num_chunks, *bc;
  	unsigned char *buf_data, *cp;
  	tsize_t chunk_size, byte_count;
*** ./tools/tiffmedian.c.old	2002-11-13 10:35:02.000000000 +0000
--- ./tools/tiffmedian.c	2002-11-13 10:35:21.000000000 +0000
***************
*** 403,409 ****
  splitbox(Colorbox* ptr)
 {
  	int		hist2[B_LEN];
! 	int		first, last;
  	register Colorbox	*new;
  	register int	*iptr, *histp;
  	register int	i, j;
--- 403,409 ----
  splitbox(Colorbox* ptr)
  {
  	int		hist2[B_LEN];
! 	int		first = 0, last = 0;
  	register Colorbox	*new;
  	register int	*iptr, *histp;
  	register int	i, j;
*** ./tools/tiffset.c.old	2002-11-13 10:35:37.000000000 +0000
--- ./tools/tiffset.c	2002-11-13 10:37:41.000000000 +0000
***************
*** 86,92 ****
  
              if( id < 1 )
              {
!                 fprintf( stderr, "Field name %s not recognised.\n" );
                  exit( -3 );
              }
  
--- 86,93 ----
  
              if( id < 1 )
              {
!                 fprintf( stderr, "Field name %s not recognised.\n",
! 				argv[arg_index+1] );
                  exit( -3 );
              }
  
***************
*** 112,118 ****
  
              if( id < 1 )
              {
!                 fprintf( stderr, "Field name %s not recognised.\n" );
                  exit( -3 );
              }
  
--- 113,120 ----
  
              if( id < 1 )
              {
!                 fprintf( stderr, "Field name %s not recognised.\n",
! 				argv[arg_index+1] );
                  exit( -3 );
              }
  


Version-Release number of selected component (if applicable):


How Reproducible:


Steps to Reproduce:
1. 
2. 
3. 

Actual Results:


Expected Results:


Additional Information:

Comment 1 Matthias Clasen 2004-05-19 19:52:39 UTC
These are all harmless and caused by insufficient understanding of the
program flow on the part of the compiler. 

Comment 2 d.binderman 2004-05-19 20:00:46 UTC
Including the last two ?


Comment 3 Matthias Clasen 2004-05-19 20:22:27 UTC
The last two are fixed upstream in 3.6.1, which I'm currently packaging


Note You need to log in before you can comment on or make changes to this bug.