2004.01.11 14:43 "[Tiff] bugs in 3.6.1", by Gerben Koopmans
Hello all,
I found and fixed some bugs in version 3.6.1:
bug: fatal error if more than one directory with custom tags is read
cause: incomplete cleanup
fix:
TIFFFreeDirectory:
..
/* Cleanup custom tag values */
for( i = 0; i < td->td_customValueCount; i++ )
_TIFFfree( td->td_customValues[i].value );
td->td_customValueCount = 0; /* added by GK */
if( td->td_customValues != NULL )
_TIFFfree( td->td_customValues );
..
bug: fatal error if a single custom value of undefined type is read
cause: _TIFFCreateAnonFieldInfo sets field_passcount, which TIFFFetchNormalTag assumes to be zero
fix:
TIFFFetchNormalTag:
..
case TIFF_UNDEFINED: /* bit of a cheat... */
{ char c[2];
if( (ok = (TIFFFetchString(tif, dp, c) != 0)) != 0 ){
c[1] = '\0'; /* XXX paranoid */
ok = fip->field_passcount ? /* may have any value! (GK) */
TIFFSetField(tif, dp->tdir_tag, 1, c)
: TIFFSetField(tif, dp->tdir_tag, c);
}
}
break;
..
Inconsistent and therefore confusing is that reading the standard software tag results in a custom value being set. Must have been a bug in previous editions.
Gerben Koopmans
KEMA Power Generation & Sustainables
KEMA Nederland B.V.
P. O. Box 9035
6800 ET Arnhem
The Netherlands
Registered Arnhem 09080262
Telephone +31 26 3 56 32 93
Telefax +31 26 3 56 20 12
e-mail: gerben.koopmans@kema.nl
Internet: http://www.kema-kps.nl