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