fixed handling of tiled logluv images (#2005)
This commit is contained in:
parent
a62c54d6f8
commit
15760800eb
@ -1,3 +1,8 @@
|
|||||||
|
2009-02-12 Frank Warmerdam <warmerdam@pobox.com>
|
||||||
|
|
||||||
|
* libtiff/tif_luv.c: Fix handling of tiled logluv images.
|
||||||
|
http://bugzilla.maptools.org/show_bug.cgi?id=2005
|
||||||
|
|
||||||
2009-02-09 Frank Warmerdam <warmerdam@pobox.com>
|
2009-02-09 Frank Warmerdam <warmerdam@pobox.com>
|
||||||
|
|
||||||
* libtiff/tif_dirread.c: Improve allocation safety when allocated
|
* libtiff/tif_dirread.c: Improve allocation safety when allocated
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $Id: tif_luv.c,v 1.31 2007-07-19 13:25:43 dron Exp $ */
|
/* $Id: tif_luv.c,v 1.32 2009-02-12 18:06:17 fwarmerdam Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1997 Greg Ward Larson
|
* Copyright (c) 1997 Greg Ward Larson
|
||||||
@ -1247,7 +1247,10 @@ LogL16InitState(TIFF* tif)
|
|||||||
"No support for converting user data format to LogL");
|
"No support for converting user data format to LogL");
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
sp->tbuflen = multiply_ms(td->td_imagewidth, td->td_rowsperstrip);
|
if( isTiled(tif) )
|
||||||
|
sp->tbuflen = multiply_ms(td->td_tilewidth, td->td_tilelength);
|
||||||
|
else
|
||||||
|
sp->tbuflen = multiply_ms(td->td_imagewidth, td->td_rowsperstrip);
|
||||||
if (multiply_ms(sp->tbuflen, sizeof (int16)) == 0 ||
|
if (multiply_ms(sp->tbuflen, sizeof (int16)) == 0 ||
|
||||||
(sp->tbuf = (uint8*) _TIFFmalloc(sp->tbuflen * sizeof (int16))) == NULL) {
|
(sp->tbuf = (uint8*) _TIFFmalloc(sp->tbuflen * sizeof (int16))) == NULL) {
|
||||||
TIFFErrorExt(tif->tif_clientdata, module, "No space for SGILog translation buffer");
|
TIFFErrorExt(tif->tif_clientdata, module, "No space for SGILog translation buffer");
|
||||||
@ -1344,7 +1347,10 @@ LogLuvInitState(TIFF* tif)
|
|||||||
"No support for converting user data format to LogLuv");
|
"No support for converting user data format to LogLuv");
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
sp->tbuflen = multiply_ms(td->td_imagewidth, td->td_rowsperstrip);
|
if( isTiled(tif) )
|
||||||
|
sp->tbuflen = multiply_ms(td->td_tilewidth, td->td_tilelength);
|
||||||
|
else
|
||||||
|
sp->tbuflen = multiply_ms(td->td_imagewidth, td->td_rowsperstrip);
|
||||||
if (multiply_ms(sp->tbuflen, sizeof (uint32)) == 0 ||
|
if (multiply_ms(sp->tbuflen, sizeof (uint32)) == 0 ||
|
||||||
(sp->tbuf = (uint8*) _TIFFmalloc(sp->tbuflen * sizeof (uint32))) == NULL) {
|
(sp->tbuf = (uint8*) _TIFFmalloc(sp->tbuflen * sizeof (uint32))) == NULL) {
|
||||||
TIFFErrorExt(tif->tif_clientdata, module, "No space for SGILog translation buffer");
|
TIFFErrorExt(tif->tif_clientdata, module, "No space for SGILog translation buffer");
|
||||||
|
Loading…
Reference in New Issue
Block a user