diff options
author | Even Rouault <even.rouault@spatialys.com> | 2022-02-06 13:08:38 +0100 |
---|---|---|
committer | Even Rouault <even.rouault@spatialys.com> | 2022-02-06 13:08:38 +0100 |
commit | eecb0712f4c3a5b449f70c57988260a667ddbdef (patch) | |
tree | 4db55c18bf7f7d9eb615528ae83ad1898583d247 /libtiff/tif_dirread.c | |
parent | 561599c99f987dc32ae110370cfdd7df7975586b (diff) | |
download | libtiff-git-eecb0712f4c3a5b449f70c57988260a667ddbdef.tar.gz |
TIFFFetchStripThing(): avoid calling memcpy() with a null source pointer and size of zero (fixes #362)
Diffstat (limited to 'libtiff/tif_dirread.c')
-rw-r--r-- | libtiff/tif_dirread.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/libtiff/tif_dirread.c b/libtiff/tif_dirread.c index 23194ced..50ebf8ac 100644 --- a/libtiff/tif_dirread.c +++ b/libtiff/tif_dirread.c @@ -5777,8 +5777,9 @@ TIFFFetchStripThing(TIFF* tif, TIFFDirEntry* dir, uint32_t nstrips, uint64_t** l _TIFFfree(data); return(0); } - _TIFFmemcpy(resizeddata,data, (uint32_t)dir->tdir_count * sizeof(uint64_t)); - _TIFFmemset(resizeddata+(uint32_t)dir->tdir_count, 0, (nstrips - (uint32_t)dir->tdir_count) * sizeof(uint64_t)); + if( dir->tdir_count ) + _TIFFmemcpy(resizeddata,data, (uint32_t)dir->tdir_count * sizeof(uint64_t)); + _TIFFmemset(resizeddata+(uint32_t)dir->tdir_count, 0, (nstrips - (uint32_t)dir->tdir_count) * sizeof(uint64_t)); _TIFFfree(data); data=resizeddata; } |