tools/source/generic/poly2.cxx | 8 ++++---- vcl/source/gdi/metaact.cxx | 6 ++++++ 2 files changed, 10 insertions(+), 4 deletions(-)
New commits: commit fd64d444b730f6cb7216dac8f6e3f94b97d7ab60 Author: Caolán McNamara <caol...@redhat.com> Date: Wed Sep 10 14:41:42 2014 +0100 clip PolyPolygon::Insert on .svm load valgrind + bff Change-Id: Ib3ed8a6e518c0686f8cbeaf021b9ca3a07005032 diff --git a/tools/source/generic/poly2.cxx b/tools/source/generic/poly2.cxx index 0262a36..cde16013 100644 --- a/tools/source/generic/poly2.cxx +++ b/tools/source/generic/poly2.cxx @@ -154,7 +154,7 @@ void PolyPolygon::Insert( const Polygon& rPoly, sal_uInt16 nPos ) void PolyPolygon::Remove( sal_uInt16 nPos ) { - DBG_ASSERT( nPos < Count(), "PolyPolygon::Remove(): nPos >= nSize" ); + assert(nPos < Count() && "PolyPolygon::Remove(): nPos >= nSize"); if ( mpImplPolyPolygon->mnRefCount > 1 ) { @@ -171,7 +171,7 @@ void PolyPolygon::Remove( sal_uInt16 nPos ) void PolyPolygon::Replace( const Polygon& rPoly, sal_uInt16 nPos ) { - DBG_ASSERT( nPos < Count(), "PolyPolygon::Replace(): nPos >= nSize" ); + assert(nPos < Count() && "PolyPolygon::Replace(): nPos >= nSize"); if ( mpImplPolyPolygon->mnRefCount > 1 ) { @@ -185,7 +185,7 @@ void PolyPolygon::Replace( const Polygon& rPoly, sal_uInt16 nPos ) const Polygon& PolyPolygon::GetObject( sal_uInt16 nPos ) const { - DBG_ASSERT( nPos < Count(), "PolyPolygon::GetObject(): nPos >= nSize" ); + assert(nPos < Count() && "PolyPolygon::GetObject(): nPos >= nSize"); return *(mpImplPolyPolygon->mpPolyAry[nPos]); } @@ -508,7 +508,7 @@ Rectangle PolyPolygon::GetBoundRect() const Polygon& PolyPolygon::operator[]( sal_uInt16 nPos ) { - DBG_ASSERT( nPos < Count(), "PolyPolygon::[](): nPos >= nSize" ); + assert(nPos < Count() && "PolyPolygon::[](): nPos >= nSize"); if ( mpImplPolyPolygon->mnRefCount > 1 ) { diff --git a/vcl/source/gdi/metaact.cxx b/vcl/source/gdi/metaact.cxx index 93dbfa6..2417e0f 100644 --- a/vcl/source/gdi/metaact.cxx +++ b/vcl/source/gdi/metaact.cxx @@ -1077,6 +1077,12 @@ void MetaPolyPolygonAction::Read( SvStream& rIStm, ImplMetaReadData* ) rIStm.ReadUInt16( nIndex ); Polygon aPoly; aPoly.Read( rIStm ); + if (nIndex >= maPolyPoly.Count()) + { + SAL_WARN("vcl.gdi", "svm contains polygon index " << nIndex + << " outside possible range " << maPolyPoly.Count()); + continue; + } maPolyPoly.Replace( aPoly, nIndex ); } }
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits