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

tools/tiffcrop.c:6891:1: Parameter `(*out)->tif_dir.td_rowsperstrip`
6889.   } /* end extractImageSection */
6890. 
6891. static int 
      ^
6892. writeSelections(TIFF *in, TIFF **out, struct crop_mask *crop, 
6893.                 struct image_data *image, struct dump_opts *dump,

tools/tiffcrop.c:6977:16: Call
6975.          for (i = 0; i < crop->selections; i++)
6976.            {
6977.            if (update_output_file (out, mp, autoindex, filename, page))
                     ^
6978.              return (1);
6979. 

tools/tiffcrop.c:2106:1: Parameter `(*tiffout)->tif_dir.td_rowsperstrip`
  2104.  * so TIFFTAG PAGENUM will be correct in image.
  2105.  */
  2106. static int
        ^
  2107. update_output_file (TIFF **tiffout, char *mode, int autoindex,
  2108.                     char *outname, unsigned int *page)

tools/tiffcrop.c:6982:16: Call
6980.            crop_buff = seg_buffs[i].buffer;
6981.            /* Write the current region to the current file */
6982.            if (writeCroppedImage(in, *out, image, dump,
                     ^
6983.                                  crop->regionlist[i].width, 
6984.                                  crop->regionlist[i].length, 

tools/tiffcrop.c:7734:1: Parameter `out->tif_dir.td_rowsperstrip`
  7732.  * then passed in as an argument.
  7733.  */
  7734. static int  
        ^
  7735. writeCroppedImage(TIFF *in, TIFF *out, struct image_data *image, 
  7736.                   struct dump_opts *dump, uint32 width, uint32 length, 

tools/tiffcrop.c:7991:11: Call
  7989.     if (config == PLANARCONFIG_CONTIG)
  7990.       {
  7991.       if (writeBufferToContigStrips (out, crop_buff, length))
                  ^
  7992.         TIFFError("","Unable to write contiguous strip data for page %d", pagenum);
  7993.       }

tools/tiffcrop.c:1114:1: Parameter `out->tif_dir.td_rowsperstrip`
    1112.   }
    1113. 
    1114. static int writeBufferToContigStrips(TIFF* out, uint8* buf, uint32 imagelength)
          ^
    1115.   {
    1116.   uint32 row, nrows, rowsperstrip;

tools/tiffcrop.c:1126:9: Call
    1124. 	     imagelength - row : rowsperstrip;
    1125.     stripsize = TIFFVStripSize(out, nrows);
    1126.     if (TIFFWriteEncodedStrip(out, strip++, buf, stripsize) < 0)
                  ^
    1127.       {
    1128.       TIFFError(TIFFFileName(out), "Error, can't write strip %u", strip - 1);

libtiff/tif_write.c:211:1: <LHS trace>
209.  * NB: Image length must be setup before writing.
210.  */
211. tmsize_t
     ^
212. TIFFWriteEncodedStrip(TIFF* tif, uint32 strip, void* data, tmsize_t cc)
213. {

libtiff/tif_write.c:211:1: Parameter `tif->tif_dir.td_rowsperstrip`
      209.  * NB: Image length must be setup before writing.
      210.  */
      211. tmsize_t
           ^
      212. TIFFWriteEncodedStrip(TIFF* tif, uint32 strip, void* data, tmsize_t cc)
      213. {

libtiff/tif_write.c:238:7: Binary operation: ([0, +oo] - 1):unsigned32 by call to `writeCroppedImage` 
      236. 			return ((tmsize_t) -1);
      237. 		td->td_stripsperimage =
      238. 		    TIFFhowmany_32(td->td_imagelength, td->td_rowsperstrip);  
                 ^
      239. 	}
      240. 	/*
