Rebased ref, commits from common ancestor:
commit 90037c05e5ddb4ca89ebd9fdef5291a48d514a53
Author: Samuel Mehrbrodt <[email protected]>
Date: Tue Apr 24 10:39:44 2018 +0200
Prevent crash while loading conditional formatting
Manually cherry-picked from 2b0ff1adeb13efbf7fb0f46939738e3f895d7caf
Change-Id: I48734ebdeab552f9f071dbd92ca9b286006cb075
diff --git a/sc/source/filter/xml/xmlcondformat.cxx
b/sc/source/filter/xml/xmlcondformat.cxx
index 3917e25f1cb0..d03f780edba4 100644
--- a/sc/source/filter/xml/xmlcondformat.cxx
+++ b/sc/source/filter/xml/xmlcondformat.cxx
@@ -232,10 +232,11 @@ void ScXMLConditionalFormatContext::EndElement()
for (size_t nFormatEntryIx = 0; nFormatEntryIx < pFormat->size();
++nFormatEntryIx)
{
auto pFormatEntry = pFormat->GetEntry(nFormatEntryIx);
- auto pCondFormatEntry = static_cast<const
ScCondFormatEntry*>(pFormatEntry);
+ auto pCondFormatEntry = dynamic_cast<const
ScCondFormatEntry*>(pFormatEntry);
- if (pCondFormatEntry->GetOperation() != SC_COND_EQUAL &&
- pCondFormatEntry->GetOperation() != SC_COND_DIRECT)
+ if (pCondFormatEntry == nullptr ||
+ (pCondFormatEntry->GetOperation() != SC_COND_EQUAL &&
+ pCondFormatEntry->GetOperation() != SC_COND_DIRECT))
{
bEligibleForCache = false;
break;
_______________________________________________
Libreoffice-commits mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits