Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:GA
tiff.34105
tiff-CVE-2022-0924.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File tiff-CVE-2022-0924.patch of Package tiff.34105
Index: tiff-4.0.9/tools/tiffcp.c =================================================================== --- tiff-4.0.9.orig/tools/tiffcp.c +++ tiff-4.0.9/tools/tiffcp.c @@ -1512,12 +1512,28 @@ DECLAREwriteFunc(writeBufferToSeparateSt tdata_t obuf; tstrip_t strip = 0; tsample_t s; + uint16 bps = 0, bytes_per_sample; obuf = _TIFFmalloc(stripsize); if (obuf == NULL) return (0); _TIFFmemset(obuf, 0, stripsize); (void) TIFFGetFieldDefaulted(out, TIFFTAG_ROWSPERSTRIP, &rowsperstrip); + + (void) TIFFGetField(out, TIFFTAG_BITSPERSAMPLE, &bps); + if( bps == 0 ) + { + TIFFError(TIFFFileName(out), "Error, cannot read BitsPerSample"); + _TIFFfree(obuf); + return 0; + } + if( (bps % 8) != 0 ) + { + TIFFError(TIFFFileName(out), "Error, cannot handle BitsPerSample that is not a multiple of 8"); + _TIFFfree(obuf); + return 0; + } + bytes_per_sample = bps/8; for (s = 0; s < spp; s++) { uint32 row; for (row = 0; row < imagelength; row += rowsperstrip) { @@ -1527,7 +1543,7 @@ DECLAREwriteFunc(writeBufferToSeparateSt cpContigBufToSeparateBuf( obuf, (uint8*) buf + row*rowsize + s, - nrows, imagewidth, 0, 0, spp, 1); + nrows, imagewidth, 0, 0, spp, bytes_per_sample); if (TIFFWriteEncodedStrip(out, strip++, obuf, stripsize) < 0) { TIFFError(TIFFFileName(out), "Error, can't write strip %u",
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor