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

tools/tiffcrop.c:6542:1: Parameter `(*out)->tif_dir.td_rowsperstrip`
6540.   } /* end extractImageSection */
6541. 
6542. static int 
      ^
6543. writeSelections(TIFF *in, TIFF **out, struct crop_mask *crop, 
6544.                 struct image_data *image, struct dump_opts *dump,

tools/tiffcrop.c:6558:14: Call
6556.          autoindex = 0;
6557.          crop_buff = seg_buffs[0].buffer;
6558.          if (update_output_file (out, mp, autoindex, filename, page))
                   ^
6559.            return (1);
6560.          page_count = total_pages;

tools/tiffcrop.c:2027:1: Parameter `(*tiffout)->tif_dir.td_rowsperstrip`
  2025.  * so TIFFTAG PAGENUM will be correct in image.
  2026.  */
  2027. static int 
        ^
  2028. update_output_file (TIFF **tiffout, char *mode, int autoindex,
  2029.                     char *outname, unsigned int *page)

tools/tiffcrop.c:6561:14: Call
6559.            return (1);
6560.          page_count = total_pages;
6561.          if (writeCroppedImage(in, *out, image, dump,
                   ^
6562.                                crop->combined_width, 
6563.                                crop->combined_length,

tools/tiffcrop.c:7381:1: Parameter `out->tif_dir.td_rowsperstrip`
  7379.  * then passed in as an argument.
  7380.  */
  7381. static int  
        ^
  7382. writeCroppedImage(TIFF *in, TIFF *out, struct image_data *image, 
  7383.                   struct dump_opts *dump, uint32 width, uint32 length, 

tools/tiffcrop.c:7646:11: Call
  7644.     else
  7645.       {
  7646.       if (writeBufferToSeparateStrips(out, crop_buff, length, width, spp, dump))
                  ^
  7647.         TIFFError("","Unable to write separate strip data for page %d", pagenum);
  7648.       }

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

tools/tiffcrop.c:1166:11: Call
    1164. 	}
    1165. 
    1166.       if (TIFFWriteEncodedStrip(out, strip++, obuf, stripsize) < 0)
                    ^
    1167.         {
    1168. 	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:209:3: Binary operation: ([0, +oo] - 1):unsigned32 by call to `writeCroppedImage` 
      207. 		if (!TIFFGrowStrips(tif, 1, module))
      208. 			return ((tmsize_t) -1);
      209. 		td->td_stripsperimage =
             ^
      210. 		    TIFFhowmany_32(td->td_imagelength, td->td_rowsperstrip);  
      211. 	}
