| diff --git a/third_party/libtiff/tif_dirread.c b/third_party/libtiff/tif_dirread.c |
| index bc4102184..0e3f8ccd4 100644 |
| --- a/third_party/libtiff/tif_dirread.c |
| +++ b/third_party/libtiff/tif_dirread.c |
| @@ -4983,6 +4983,11 @@ TIFFFetchNormalTag(TIFF* tif, TIFFDirEntry* dp, int recover) |
| if (err==TIFFReadDirEntryErrOk) |
| { |
| int m; |
| + if( dp->tdir_count > 0 && data[dp->tdir_count-1] != '\0' ) |
| + { |
| + TIFFWarningExt(tif->tif_clientdata,module,"ASCII value for tag \"%s\" does not end in null byte. Forcing it to be null",fip->field_name); |
| + data[dp->tdir_count-1] = '\0'; |
| + } |
| m=TIFFSetField(tif,dp->tdir_tag,(uint16)(dp->tdir_count),data); |
| if (data!=0) |
| _TIFFfree(data); |
| @@ -5155,6 +5160,11 @@ TIFFFetchNormalTag(TIFF* tif, TIFFDirEntry* dp, int recover) |
| if (err==TIFFReadDirEntryErrOk) |
| { |
| int m; |
| + if( dp->tdir_count > 0 && data[dp->tdir_count-1] != '\0' ) |
| + { |
| + TIFFWarningExt(tif->tif_clientdata,module,"ASCII value for tag \"%s\" does not end in null byte. Forcing it to be null",fip->field_name); |
| + data[dp->tdir_count-1] = '\0'; |
| + } |
| m=TIFFSetField(tif,dp->tdir_tag,(uint32)(dp->tdir_count),data); |
| if (data!=0) |
| _TIFFfree(data); |