Kaydet (Commit) bbe264a1 authored tarafından Caolán McNamara's avatar Caolán McNamara

coverity#1242724 Untrusted value as argument

Change-Id: I6041d09ef0a4ed4af5f1bf93f31a1eac60be1af7
üst be31503e
...@@ -5318,19 +5318,24 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt, ...@@ -5318,19 +5318,24 @@ SdrObject* SvxMSDffManager::ProcessObj(SvStream& rSt,
{ {
delete pTextImpRec->pWrapPolygon; delete pTextImpRec->pWrapPolygon;
pTextImpRec->pWrapPolygon = NULL; pTextImpRec->pWrapPolygon = NULL;
sal_uInt16 nNumElemVert, nNumElemMemVert, nElemSizeVert; sal_uInt16 nNumElemVert(0), nNumElemMemVert(0), nElemSizeVert(0);
rSt.ReadUInt16( nNumElemVert ).ReadUInt16( nNumElemMemVert ).ReadUInt16( nElemSizeVert ); rSt.ReadUInt16( nNumElemVert ).ReadUInt16( nNumElemMemVert ).ReadUInt16( nElemSizeVert );
bool bOk = false;
if (nNumElemVert && ((nElemSizeVert == 8) || (nElemSizeVert == 4))) if (nNumElemVert && ((nElemSizeVert == 8) || (nElemSizeVert == 4)))
{
bOk = rSt.remainingSize() / nElemSizeVert >= nNumElemVert;
}
if (bOk)
{ {
pTextImpRec->pWrapPolygon = new Polygon(nNumElemVert); pTextImpRec->pWrapPolygon = new Polygon(nNumElemVert);
for (sal_uInt16 i = 0; i < nNumElemVert; ++i) for (sal_uInt16 i = 0; i < nNumElemVert; ++i)
{ {
sal_Int32 nX, nY; sal_Int32 nX(0), nY(0);
if (nElemSizeVert == 8) if (nElemSizeVert == 8)
rSt.ReadInt32( nX ).ReadInt32( nY ); rSt.ReadInt32( nX ).ReadInt32( nY );
else else
{ {
sal_Int16 nSmallX, nSmallY; sal_Int16 nSmallX(0), nSmallY(0);
rSt.ReadInt16( nSmallX ).ReadInt16( nSmallY ); rSt.ReadInt16( nSmallX ).ReadInt16( nSmallY );
nX = nSmallX; nX = nSmallX;
nY = nSmallY; nY = nSmallY;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment