diff options
author | Caolán McNamara <caolanm@redhat.com> | 2020-12-22 09:53:11 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2020-12-22 13:19:15 +0100 |
commit | a7d1d107ec58d3b00b4019c89edddcff71ca6ff3 (patch) | |
tree | 1dde30e43be9989bdb7a014a387327ee26d06fe4 /sc | |
parent | 898993aa62276f59480df8af1da4bad530829b56 (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.cxx | 11 |
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; } |