summaryrefslogtreecommitdiff
path: root/filter
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2017-10-21 17:09:09 +0100
committerCaolán McNamara <caolanm@redhat.com>2017-10-21 20:48:44 +0200
commit3da533cabddb0e02bd2d57bfd2acfb452cee0e61 (patch)
tree9a6394d6b893201f156f4fbaa60f07f9e3a7d94e /filter
parenteaa54fd26ed9f3f873a2721760dd0709202e927c (diff)
check if seek succeeded
Change-Id: Ic31392def4f5887d514c2ff9b8ecad0fd7190ffb Reviewed-on: https://gerrit.libreoffice.org/43662 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'filter')
-rw-r--r--filter/source/msfilter/dffpropset.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/filter/source/msfilter/dffpropset.cxx b/filter/source/msfilter/dffpropset.cxx
index 6c66c0702470..58b9e6dd28a0 100644
--- a/filter/source/msfilter/dffpropset.cxx
+++ b/filter/source/msfilter/dffpropset.cxx
@@ -1168,11 +1168,11 @@ void DffPropSet::ReadPropSet( SvStream& rIn, bool bSetUninitializedOnly )
{
// now check if the current content size is possible, or 6 bytes too small
sal_uInt32 nOldPos = rIn.Tell();
- sal_Int16 nNumElem, nNumElemReserved, nSize;
- rIn.Seek( nComplexDataFilePos );
- rIn. ReadInt16( nNumElem ).ReadInt16( nNumElemReserved ).ReadInt16( nSize );
- if ( nNumElemReserved >= nNumElem )
+ sal_Int16 nNumElem(0), nNumElemReserved(0), nSize(0);
+ if (checkSeek(rIn, nComplexDataFilePos))
+ rIn.ReadInt16(nNumElem).ReadInt16(nNumElemReserved).ReadInt16(nSize);
+ if (nNumElemReserved >= nNumElem)
{
// the size of these array elements is nowhere defined,
// what if the size is negative ?