|
- diff -Npur libtiff-v4.2.0/libtiff/tif_dirread.c libtiff-v4.2.0-change/libtiff/tif_dirread.c
- --- libtiff-v4.2.0/libtiff/tif_dirread.c 2020-12-20 02:44:58.000000000 +0800
- +++ libtiff-v4.2.0-change/libtiff/tif_dirread.c 2022-03-17 18:04:49.959583584 +0800
- @@ -4173,7 +4173,8 @@ TIFFReadDirectory(TIFF* tif)
- goto bad;
- }
-
- - memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16));
- + if (old_extrasamples > 0)
- + memcpy(new_sampleinfo, tif->tif_dir.td_sampleinfo, old_extrasamples * sizeof(uint16));
- _TIFFsetShortArray(&tif->tif_dir.td_sampleinfo, new_sampleinfo, tif->tif_dir.td_extrasamples);
- _TIFFfree(new_sampleinfo);
- }
- @@ -5765,8 +5766,9 @@ TIFFFetchStripThing(TIFF* tif, TIFFDirEn
- _TIFFfree(data);
- return(0);
- }
- - _TIFFmemcpy(resizeddata,data,(uint32)dir->tdir_count*sizeof(uint64));
- - _TIFFmemset(resizeddata+(uint32)dir->tdir_count,0,(nstrips-(uint32)dir->tdir_count)*sizeof(uint64));
- + if( dir->tdir_count )
- + _TIFFmemcpy(resizeddata,data, (uint32)dir->tdir_count * sizeof(uint64));
- + _TIFFmemset(resizeddata+(uint32)dir->tdir_count, 0, (nstrips - (uint32)dir->tdir_count) * sizeof(uint64));
- _TIFFfree(data);
- data=resizeddata;
- }
|