2017.06.27 13:16 "[Tiff] Double to float conversion is not always valid", by Nicolas RUFF

2017.06.27 13:44 "Re: [Tiff] Double to float conversion is not always valid", by Even Rouault

On mardi 27 juin 2017 15:16:28 CEST Nicolas RUFF wrote:

ASAN/UBSAN will flag the following operation in tif_dirread.c as a "float-cast-overflow" - which is true, a double cannot always fit into a float. I suggest the following fix:

case TIFF_DOUBLE:
{
  double m;
  err=TIFFReadDirEntryCheckedDouble(tif,direntry,&m);
  if (err!=TIFFReadDirEntryErrOk)
    return(err);
+ if ((m > FLT_MAX) || (m < FLT_MIN))
+ return(TIFFReadDirEntryErrRange);
  *value=(float)m;
  return(TIFFReadDirEntryErrOk);
}

WDYT?

Committed. Thanks

Regards,
- Nicolas RUFF

--
Spatialys - Geospatial professional services
http://www.spatialys.com