![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
||
AWARE [SYSTEMS] | ||||||||
![]() |
TIFF and LibTiff Mailing List Archive | |||||||
LibTiff Mailing List
TIFF and LibTiff Mailing List Archive Contact
The TIFF Mailing List Homepage |
Thread2017.06.27 13:16 "Double to float conversion is not always valid", by Nicolas RuffHello, 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? Regards, - Nicolas RUFF |