diff options
author | Andras Timar <andras.timar@collabora.com> | 2022-01-03 22:12:01 +0100 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2022-01-05 13:56:48 +0100 |
commit | 4aedf0956fb6849781bfb5139b04d8ca0708acdc (patch) | |
tree | 3a187a32e3403bcb4ff203149eec0c0df719f60c | |
parent | 2ac23d25f0670c3274603deb88aef352def635a1 (diff) |
tdf#73523 do not seek backwards, the color mask info is not there
Change-Id: I97f0fd4f184ea77beeab8b22fc98fdb78472d9bb
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/127928
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
Reviewed-by: Andras Timar <andras.timar@collabora.com>
-rw-r--r-- | vcl/qa/cppunit/graphicfilter/data/bmp/pass/crash-1.bmp (renamed from vcl/qa/cppunit/graphicfilter/data/bmp/fail/crash-1.bmp) | bin | 632 -> 632 bytes | |||
-rw-r--r-- | vcl/source/gdi/dibtools.cxx | 5 |
2 files changed, 2 insertions, 3 deletions
diff --git a/vcl/qa/cppunit/graphicfilter/data/bmp/fail/crash-1.bmp b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/crash-1.bmp Binary files differindex 84b6c35c87e6..84b6c35c87e6 100644 --- a/vcl/qa/cppunit/graphicfilter/data/bmp/fail/crash-1.bmp +++ b/vcl/qa/cppunit/graphicfilter/data/bmp/pass/crash-1.bmp diff --git a/vcl/source/gdi/dibtools.cxx b/vcl/source/gdi/dibtools.cxx index ce1df4a68a65..949423a1f255 100644 --- a/vcl/source/gdi/dibtools.cxx +++ b/vcl/source/gdi/dibtools.cxx @@ -533,10 +533,9 @@ bool ImplReadDIBBits(SvStream& rIStm, DIBV5Header& rHeader, BitmapWriteAccess& r } else { - // Read color mask - if(bTCMask && BITFIELDS == rHeader.nCompression) + // Read color mask. An additional 12 bytes of color bitfields follow the info header (WinBMPv3-NT) + if(bTCMask && BITFIELDS == rHeader.nCompression && DIBINFOHEADERSIZE == rHeader.nSize) { - rIStm.SeekRel( -12 ); rIStm.ReadUInt32( nRMask ); rIStm.ReadUInt32( nGMask ); rIStm.ReadUInt32( nBMask ); |