Changeset 14007

Show
Ignore:
Timestamp:
03/14/08 09:46:11 (2 months ago)
Author:
warmerdam
Message:

revert r14003, and apply narrow fix for tag size sanity check (#2005)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/1.5/gdal/frmts/gtiff/libtiff/tif_dirread.c

    r14003 r14007  
    1 /* $Id: tif_dirread.c,v 1.139 2008/03/14 05:58:40 fwarmerdam Exp $ */ 
     1/* $Id: tif_dirread.c,v 1.136 2007/11/23 20:49:43 fwarmerdam Exp $ */ 
    22 
    33/* 
     
    656656                                if (err!=TIFFReadDirEntryErrOk) 
    657657                                        return(err); 
    658                                 *value=(double)m; 
     658                                *value=(double)(TIFF_INT64_T)m; 
    659659                                return(TIFFReadDirEntryErrOk); 
    660660                        } 
     
    724724                return(TIFFReadDirEntryErrOk); 
    725725        } 
    726 #ifdef notdef 
    727726        if ((uint64)(4*1024*1024/typesize)<direntry->tdir_count) 
    728727                return(TIFFReadDirEntryErrSizesan); 
    729728        if ((uint64)(4*1024*1024/desttypesize)<direntry->tdir_count) 
    730729                return(TIFFReadDirEntryErrSizesan); 
    731 #endif 
    732730        *count=(uint32)direntry->tdir_count; 
    733731        datasize=(*count)*typesize; 
     
    22682266                                        if (tif->tif_flags&TIFF_SWAB) 
    22692267                                                TIFFSwabLong8(ma); 
    2270                                         *mb++=(float)(*ma++); 
     2268                                        *mb++=(float)(TIFF_INT64_T)(*ma++); 
    22712269                                } 
    22722270                        } 
     
    25022500                                        if (tif->tif_flags&TIFF_SWAB) 
    25032501                                                TIFFSwabLong8(ma); 
    2504                                         *mb++=(double)(*ma++); 
     2502                                        *mb++=(double)(TIFF_INT64_T)(*ma++); 
    25052503                                } 
    25062504                        } 
     
    38783876                ChopUpSingleUncompressedStrip(tif); 
    38793877 
    3880         /* 
    3881          * Clear the dirty directory flag.  
    3882          */ 
    3883         tif->tif_flags &= ~TIFF_DIRTYDIRECT; 
    3884         tif->tif_flags &= ~TIFF_DIRTYSTRIP; 
    3885  
    38863878        /* 
    38873879         * Reinitialize i/o since we are starting on a new directory. 
     
    46704662                                assert(fip->field_passcount==0); 
    46714663                                if (dp->tdir_count!=2) 
    4672                                         return(0); 
    4673                                 err=TIFFReadDirEntryShortArray(tif,dp,&data); 
    4674                                 if (err==TIFFReadDirEntryErrOk) 
    4675                                 { 
    4676                                         int m; 
    4677                                         m=TIFFSetField(tif,dp->tdir_tag,data[0],data[1]); 
    4678                                         _TIFFfree(data); 
    4679                                         if (!m) 
    4680                                                 return(0); 
     4664                                        assert(0); 
     4665                                else 
     4666                                { 
     4667                                        err=TIFFReadDirEntryShortArray(tif,dp,&data); 
     4668                                        if (err==TIFFReadDirEntryErrOk) 
     4669                                        { 
     4670                                                int m; 
     4671                                                m=TIFFSetField(tif,dp->tdir_tag,data[0],data[1]); 
     4672                                                _TIFFfree(data); 
     4673                                                if (!m) 
     4674                                                        return(0); 
     4675                                        } 
    46814676                                } 
    46824677                        }