tools/tiffcrop.c:7291: error: Null Dereference
  pointer `sect_buff` last assigned on line 7286 could be null and is dereferenced by call to `_TIFFmemset()` at line 7291, column 7.

tools/tiffcrop.c:7263:1: start of procedure createImageSection()
7261. 
7262. /* Create a buffer to write one section at a time */
7263. static int
      ^
7264. createImageSection(uint32 sectsize, unsigned char **sect_buff_ptr)
7265.   {

tools/tiffcrop.c:7266:3: 
7264. createImageSection(uint32 sectsize, unsigned char **sect_buff_ptr)
7265.   {
7266.   unsigned  char *sect_buff = NULL;
        ^
7267.   unsigned  char *new_buff  = NULL;
7268.   static    uint32  prev_sectsize = 0;

tools/tiffcrop.c:7267:3: 
7265.   {
7266.   unsigned  char *sect_buff = NULL;
7267.   unsigned  char *new_buff  = NULL;
        ^
7268.   static    uint32  prev_sectsize = 0;
7269.   

tools/tiffcrop.c:7268:3: 
7266.   unsigned  char *sect_buff = NULL;
7267.   unsigned  char *new_buff  = NULL;
7268.   static    uint32  prev_sectsize = 0;
        ^
7269.   
7270.   sect_buff = *sect_buff_ptr;

tools/tiffcrop.c:7270:3: 
7268.   static    uint32  prev_sectsize = 0;
7269.   
7270.   sect_buff = *sect_buff_ptr;
        ^
7271. 
7272.   if (!sect_buff)

tools/tiffcrop.c:7272:8: Taking false branch
7270.   sect_buff = *sect_buff_ptr;
7271. 
7272.   if (!sect_buff)
             ^
7273.     {
7274.     sect_buff = (unsigned char *)_TIFFmalloc(sectsize);

tools/tiffcrop.c:7280:9: Taking true branch
7278.   else
7279.     {
7280.     if (prev_sectsize < sectsize)
              ^
7281.       {
7282.       new_buff = _TIFFrealloc(sect_buff, sectsize);

tools/tiffcrop.c:7282:7: 
7280.     if (prev_sectsize < sectsize)
7281.       {
7282.       new_buff = _TIFFrealloc(sect_buff, sectsize);
            ^
7283.       if (!new_buff)
7284.         {

libtiff/tif_unix.c:325:1: start of procedure _TIFFrealloc()
  323. }
  324. 
  325. void*
       ^
  326. _TIFFrealloc(void* p, tmsize_t s)
  327. {

libtiff/tif_unix.c:328:2: 
  326. _TIFFrealloc(void* p, tmsize_t s)
  327. {
  328. 	return (realloc(p, (size_t) s));
        ^
  329. }
  330. 

libtiff/tif_unix.c:329:1: return from a call to _TIFFrealloc
  327. {
  328. 	return (realloc(p, (size_t) s));
  329. }
       ^
  330. 
  331. void

tools/tiffcrop.c:7283:12: Taking true branch
7281.       {
7282.       new_buff = _TIFFrealloc(sect_buff, sectsize);
7283.       if (!new_buff)
                 ^
7284.         {
7285. 	free (sect_buff);

tools/tiffcrop.c:7285:2: 
7283.       if (!new_buff)
7284.         {
7285. 	free (sect_buff);
       ^
7286.         sect_buff = (unsigned char *)_TIFFmalloc(sectsize);
7287.         }

tools/tiffcrop.c:7286:9: 
7284.         {
7285. 	free (sect_buff);
7286.         sect_buff = (unsigned char *)_TIFFmalloc(sectsize);
              ^
7287.         }
7288.       else

libtiff/tif_unix.c:310:1: start of procedure _TIFFmalloc()
  308. #endif
  309. 
  310. void*
       ^
  311. _TIFFmalloc(tmsize_t s)
  312. {

libtiff/tif_unix.c:313:13: Taking false branch
  311. _TIFFmalloc(tmsize_t s)
  312. {
  313.         if (s == 0)
                   ^
  314.                 return ((void *) NULL);
  315. 

libtiff/tif_unix.c:316:2: 
  314.                 return ((void *) NULL);
  315. 
  316. 	return (malloc((size_t) s));
        ^
  317. }
  318. 

libtiff/tif_unix.c:317:1: return from a call to _TIFFmalloc
  315. 
  316. 	return (malloc((size_t) s));
  317. }
       ^
  318. 
  319. void

tools/tiffcrop.c:7291:7: 
7289.         sect_buff = new_buff;
7290. 
7291.       _TIFFmemset(sect_buff, 0, sectsize);
            ^
7292.       }
7293.     }

libtiff/tif_unix.c:331:1: start of procedure _TIFFmemset()
  329. }
  330. 
  331. void
       ^
  332. _TIFFmemset(void* p, int v, tmsize_t c)
  333. {

libtiff/tif_unix.c:334:2: 
  332. _TIFFmemset(void* p, int v, tmsize_t c)
  333. {
  334. 	memset(p, v, (size_t) c);
        ^
  335. }
  336. 

libtiff/tif_unix.c:335:1: return from a call to _TIFFmemset
  333. {
  334. 	memset(p, v, (size_t) c);
  335. }
       ^
  336. 
  337. void

static int
createImageSection(uint32 sectsize, unsigned char **sect_buff_ptr)
  {
  unsigned  char *sect_buff = NULL;
  unsigned  char *new_buff  = NULL;
  static    uint32  prev_sectsize = 0;
  sect_buff = *sect_buff_ptr;
  if (!sect_buff)
    {
    sect_buff = (unsigned char *)_TIFFmalloc(sectsize);
    *sect_buff_ptr = sect_buff;
    _TIFFmemset(sect_buff, 0, sectsize);
    }
  else
    {
    if (prev_sectsize < sectsize)
      {
      new_buff = _TIFFrealloc(sect_buff, sectsize);
      if (!new_buff)
        {
	free (sect_buff);
        sect_buff = (unsigned char *)_TIFFmalloc(sectsize);
        }
      else
        sect_buff = new_buff;
      _TIFFmemset(sect_buff, 0, sectsize);
      }
    }
  if (!sect_buff)
    {
    TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");
    return (-1);
    }
  prev_sectsize = sectsize;
  *sect_buff_ptr = sect_buff;
  return (0);
  }
['static int\ncreateImageSection(uint32 sectsize, unsigned char **sect_buff_ptr)\n  {\n  unsigned  char *sect_buff = NULL;\n  unsigned  char *new_buff  = NULL;\n  static    uint32  prev_sectsize = 0;\n  sect_buff = *sect_buff_ptr;\n  if (!sect_buff)\n    {\n    sect_buff = (unsigned char *)_TIFFmalloc(sectsize);\n    *sect_buff_ptr = sect_buff;\n    _TIFFmemset(sect_buff, 0, sectsize);\n    }\n  else\n    {\n    if (prev_sectsize < sectsize)\n      {\n      new_buff = _TIFFrealloc(sect_buff, sectsize);\n      if (!new_buff)\n        {\n\tfree (sect_buff);\n        sect_buff = (unsigned char *)_TIFFmalloc(sectsize);\n        }\n      else\n        sect_buff = new_buff;\n      _TIFFmemset(sect_buff, 0, sectsize);\n      }\n    }\n  if (!sect_buff)\n    {\n    TIFFError("createImageSection", "Unable to allocate/reallocate section buffer");\n    return (-1);\n    }\n  prev_sectsize = sectsize;\n  *sect_buff_ptr = sect_buff;\n  return (0);\n  }', 'void*\n_TIFFrealloc(void* p, tmsize_t s)\n{\n\treturn (realloc(p, (size_t) s));\n}', 'void*\n_TIFFmalloc(tmsize_t s)\n{\n        if (s == 0)\n                return ((void *) NULL);\n\treturn (malloc((size_t) s));\n}', 'void\n_TIFFmemset(void* p, int v, tmsize_t c)\n{\n\tmemset(p, v, (size_t) c);\n}']