tools/tiffcrop.c:6771: error: Integer Overflow L2
  ([0, +oo] - 1):unsigned32 by call to `writeCroppedImage`.

tools/tiffcrop.c:6752:1: Parameter `(*out)->tif_dir.td_rowsperstrip`
6750.   } /* end extractImageSection */
6751. 
6752. static int 
      ^
6753. writeSelections(TIFF *in, TIFF **out, struct crop_mask *crop, 
6754.                 struct image_data *image, struct dump_opts *dump,

tools/tiffcrop.c:6768:14: Call
6766.          autoindex = 0;
6767.          crop_buff = seg_buffs[0].buffer;
6768.          if (update_output_file (out, mp, autoindex, filename, page))
                   ^
6769.            return (1);
6770.          page_count = total_pages;

tools/tiffcrop.c:2042:1: Parameter `(*tiffout)->tif_dir.td_rowsperstrip`
  2040.  * so TIFFTAG PAGENUM will be correct in image.
  2041.  */
  2042. static int 
        ^
  2043. update_output_file (TIFF **tiffout, char *mode, int autoindex,
  2044.                     char *outname, unsigned int *page)

tools/tiffcrop.c:6771:14: Call
6769.            return (1);
6770.          page_count = total_pages;
6771.          if (writeCroppedImage(in, *out, image, dump,
                   ^
6772.                                crop->combined_width, 
6773.                                crop->combined_length,

tools/tiffcrop.c:7594:1: Parameter `out->tif_dir.td_rowsperstrip`
  7592.  * then passed in as an argument.
  7593.  */
  7594. static int  
        ^
  7595. writeCroppedImage(TIFF *in, TIFF *out, struct image_data *image, 
  7596.                   struct dump_opts *dump, uint32 width, uint32 length, 

tools/tiffcrop.c:7855:11: Call
  7853.     else
  7854.       {
  7855.       if (writeBufferToSeparateStrips(out, crop_buff, length, width, spp, dump))
                  ^
  7856.         TIFFError("","Unable to write separate strip data for page %d", pagenum);
  7857.       }

tools/tiffcrop.c:1129:1: Parameter `out->tif_dir.td_rowsperstrip`
    1127.  * before any strips or tiles of a different plane are stored.
    1128.  */
    1129. static int 
          ^
    1130. writeBufferToSeparateStrips (TIFF* out, uint8* buf, 
    1131. 			     uint32 length, uint32 width, uint16 spp,

tools/tiffcrop.c:1178:11: Call
    1176. 	}
    1177. 
    1178.       if (TIFFWriteEncodedStrip(out, strip++, obuf, stripsize) < 0)
                    ^
    1179.         {
    1180. 	TIFFError(TIFFFileName(out), "Error, can't write strip %u", strip - 1);

libtiff/tif_write.c:183:1: <LHS trace>
181.  * NB: Image length must be setup before writing.
182.  */
183. tmsize_t
     ^
184. TIFFWriteEncodedStrip(TIFF* tif, uint32 strip, void* data, tmsize_t cc)
185. {

libtiff/tif_write.c:183:1: Parameter `tif->tif_dir.td_rowsperstrip`
      181.  * NB: Image length must be setup before writing.
      182.  */
      183. tmsize_t
           ^
      184. TIFFWriteEncodedStrip(TIFF* tif, uint32 strip, void* data, tmsize_t cc)
      185. {

libtiff/tif_write.c:210:7: Binary operation: ([0, +oo] - 1):unsigned32 by call to `writeCroppedImage` 
      208. 			return ((tmsize_t) -1);
      209. 		td->td_stripsperimage =
      210. 		    TIFFhowmany_32(td->td_imagelength, td->td_rowsperstrip);  
                 ^
      211. 	}
      212. 	/*
