summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-01-17 21:25:28 +0000
committerCaolán McNamara <caolanm@redhat.com>2017-01-17 21:25:28 +0000
commit2a9b4363ca190f1d783d540e95a031357f852858 (patch)
treea7a7266f0837834f7f84aa36cddc94eb18703a8a /filter
parent5434d51d12611eb2726ce1394eb01921d008fa89 (diff)
ofz#415 crash in DXFVector::DXFVector
Change-Id: Ia8edfebd0b69ed2500e2c3f575d51f40dc8718c0
Diffstat (limited to 'filter')
-rw-r--r--filter/source/graphicfilter/idxf/dxfentrd.cxx3
1 files changed, 2 insertions, 1 deletions
diff --git a/filter/source/graphicfilter/idxf/dxfentrd.cxx b/filter/source/graphicfilter/idxf/dxfentrd.cxx
index f9a5d97bba26..a3e64f1d9418 100644
--- a/filter/source/graphicfilter/idxf/dxfentrd.cxx
+++ b/filter/source/graphicfilter/idxf/dxfentrd.cxx
@@ -421,7 +421,8 @@ void DXFLWPolyLineEntity::EvaluateGroup( DXFGroupReader & rDGR )
case 90 :
{
nCount = rDGR.GetI();
- if ( nCount )
+ // limit alloc to max reasonable size based on remaining data in stream
+ if (nCount > 0 && static_cast<sal_uInt32>(nCount) <= rDGR.remainingSize())
pP.reset( new DXFVector[ nCount ] );
}
break;