vcl/source/filter/jpeg/JpegReader.cxx | 4 +--- vcl/source/filter/jpeg/JpegReader.hxx | 1 - vcl/source/gdi/svmconverter.cxx | 16 +++++++++++----- 3 files changed, 12 insertions(+), 9 deletions(-)
New commits: commit d4c26cbcd89660be3af8df09ee24a8ba1c1172b4 Author: Caolán McNamara <[email protected]> Date: Fri Mar 10 17:31:19 2017 +0000 ofz: min action has to be >= 4 Change-Id: If03837dff5d7db6907f13c32ce05a74e4a0b7b55 diff --git a/vcl/source/gdi/svmconverter.cxx b/vcl/source/gdi/svmconverter.cxx index e4a00a1..6149f00 100644 --- a/vcl/source/gdi/svmconverter.cxx +++ b/vcl/source/gdi/svmconverter.cxx @@ -333,10 +333,10 @@ void ImplSkipActions(SvStream& rIStm, sal_uLong nSkipCount) sal_Int16 nType; for (sal_uLong i = 0UL; i < nSkipCount; ++i) { - rIStm.ReadInt16( nType ).ReadInt32( nActionSize ); - if (!rIStm.good()) + rIStm.ReadInt16(nType).ReadInt32(nActionSize); + if (!rIStm.good() || nActionSize < 4) break; - rIStm.SeekRel( nActionSize - 4 ); + rIStm.SeekRel(nActionSize - 4); } } @@ -1430,12 +1430,18 @@ void SVMConverter::ImplConvertFromSVM1( SvStream& rIStm, GDIMetaFile& rMtf ) { nUnicodeCommentActionNumber = i + 1; nUnicodeCommentStreamPos = rIStm.Tell() - 6; - rIStm.SeekRel( nActionSize - 4 ); + if (nActionSize < 4) + rIStm.SetError(SVSTREAM_FILEFORMAT_ERROR); + else + rIStm.SeekRel(nActionSize - 4); } break; default: - rIStm.SeekRel( nActionSize - 4 ); + if (nActionSize < 4) + rIStm.SetError(SVSTREAM_FILEFORMAT_ERROR); + else + rIStm.SeekRel(nActionSize - 4); break; } } commit c3ee3f104bcca354d80ecc4d8a3dd67b5123e1a5 Author: Caolán McNamara <[email protected]> Date: Fri Mar 10 15:59:41 2017 +0000 mnFormerPos is unused Change-Id: I147b68882d99b8712625178e5206ea7c0f5f7401 diff --git a/vcl/source/filter/jpeg/JpegReader.cxx b/vcl/source/filter/jpeg/JpegReader.cxx index ad67332..86dda22 100644 --- a/vcl/source/filter/jpeg/JpegReader.cxx +++ b/vcl/source/filter/jpeg/JpegReader.cxx @@ -168,7 +168,6 @@ JPEGReader::JPEGReader( SvStream& rStream, void* /*pCallData*/, bool bSetLogSize mbSetLogSize ( bSetLogSize ) { maUpperName = "SVIJPEG"; - mnFormerPos = mnLastPos; } JPEGReader::~JPEGReader() @@ -301,11 +300,10 @@ ReadState JPEGReader::Read( Graphic& rGraphic ) } // Set status ( Pending has priority ) - if( mrStream.GetError() == ERRCODE_IO_PENDING ) + if (mrStream.GetError() == ERRCODE_IO_PENDING) { eReadState = JPEGREAD_NEED_MORE; mrStream.ResetError(); - mnFormerPos = mrStream.Tell(); } else { diff --git a/vcl/source/filter/jpeg/JpegReader.hxx b/vcl/source/filter/jpeg/JpegReader.hxx index 3362519..3a20ad9 100644 --- a/vcl/source/filter/jpeg/JpegReader.hxx +++ b/vcl/source/filter/jpeg/JpegReader.hxx @@ -50,7 +50,6 @@ class JPEGReader : public GraphicReader Bitmap maIncompleteAlpha; long mnLastPos; - long mnFormerPos; long mnLastLines; bool mbSetLogSize;
_______________________________________________ Libreoffice-commits mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits
