summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2020-12-22 09:53:11 +0000
committerCaolán McNamara <caolanm@redhat.com>2020-12-22 13:19:15 +0100
commita7d1d107ec58d3b00b4019c89edddcff71ca6ff3 (patch)
tree1dde30e43be9989bdb7a014a387327ee26d06fe4 /sc
parent898993aa62276f59480df8af1da4bad530829b56 (diff)
oss-fuzz: qpwfuzzer doesn't pass sanity check
Step #5: #6 0x9d06d2f in __cxa_throw (/tmp/not-out/qpwfuzzer+0x9d06d2f) Step #5: #7 0x476ab6a in SvStream::ReadUInt16(unsigned short&) (/tmp/not-out/qpwfuzzer+0x476ab6a) Step #5: #8 0x512b10 in ScQProReader::nextRecord() (/tmp/not-out/qpwfuzzer+0x512b10) Step #5: #9 0x513a7e in ScQProReader::parse(ScDocument&) (/tmp/not-out/qpwfuzzer+0x513a7e) Step #5: #10 0x514bdc in TestImportQPW (/tmp/not-out/qpwfuzzer+0x514bdc) Change-Id: I42ea56988bcb54a57979535108e5ed90225d1f68 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/108149 Tested-by: Caolán McNamara <caolanm@redhat.com> Reviewed-by: Caolán McNamara <caolanm@redhat.com>
Diffstat (limited to 'sc')
-rw-r--r--sc/source/filter/qpro/qpro.cxx11
1 files changed, 10 insertions, 1 deletions
diff --git a/sc/source/filter/qpro/qpro.cxx b/sc/source/filter/qpro/qpro.cxx
index 2b7641696644..af3544967711 100644
--- a/sc/source/filter/qpro/qpro.cxx
+++ b/sc/source/filter/qpro/qpro.cxx
@@ -254,7 +254,16 @@ extern "C" SAL_DLLPUBLIC_EXPORT bool TestImportQPW(SvStream &rStream)
aDocument.SetHardRecalcState(ScDocument::HardRecalcState::ETERNAL);
ScQProReader aReader(&rStream);
- ErrCode eRet = aReader.parse(aDocument);
+
+ ErrCode eRet;
+ try
+ {
+ eRet = aReader.parse(aDocument);
+ }
+ catch (SvStreamEOFException&)
+ {
+ eRet = SCERR_IMPORT_OPEN;
+ }
return eRet == ERRCODE_NONE;
}