diff options
author | Caolán McNamara <caolanm@redhat.com> | 2017-10-21 17:09:09 +0100 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2017-10-21 20:48:44 +0200 |
commit | 3da533cabddb0e02bd2d57bfd2acfb452cee0e61 (patch) | |
tree | 9a6394d6b893201f156f4fbaa60f07f9e3a7d94e | |
parent | eaa54fd26ed9f3f873a2721760dd0709202e927c (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>
-rw-r--r-- | filter/source/msfilter/dffpropset.cxx | 8 |
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 ? |