summaryrefslogtreecommitdiff
path: root/lotuswordpro
diff options
context:
space:
mode:
authorCaolán McNamara <caolanm@redhat.com>2015-12-19 12:34:34 +0000
committerAndras Timar <andras.timar@collabora.com>2016-01-04 12:20:38 +0100
commitb6f2b0ad2dfd49aa58ebfbd9576ca5eb1b10e279 (patch)
tree9e005967a9ae2a0eea2543a8feabf60dd1ba9c89 /lotuswordpro
parent743fc27ca8e647982faabc0ab60346586eb44ceb (diff)
coverity#1343623 Logically dead code
(cherry picked from commit 8f3c796ecf926f81f6229fbb040095286c8adbfe) coverity#1343624 Unchecked dynamic_cast (cherry picked from commit 26fddc3196c7ab932ada544b84b74da06fa2596d) coverity#1343625 Unchecked dynamic_cast (cherry picked from commit 9e83e31019cdc68e5324a10ef76417b46720cfe9) coverity#1343626 Unchecked dynamic_cast (cherry picked from commit c2f1731685014b9df386dfb59900783c3ca3acb7) coverity#1343627 Unchecked dynamic_cast (cherry picked from commit 1276f6daf28f61d911da9885e0cac738931e4de4) coverity#1343629 Unchecked dynamic_cast (cherry picked from commit 274d265e42ab89be29af21ef5cc1cbf20b3d35a2) 1343630 Dereference after null check (cherry picked from commit 960cfb7e3ba56fe06f45c523e086ee6d4b95e685) (cherry picked from commit 7e6e8aa8c51e13b016118720fc28f39a572bb8e4) Change-Id: Ibcf05263f7bea50f70d55f4d8944d0a41d54851d a303a5dc97fb5e491e86a3484040e657f1b480d4 b534e4e8ecf50a9159c5e98e2c899bf13f44c654 52e6d6c9cb48880185293fb9825d7a6530ee767d 83c0febcbbf0f19a05818e0575921d1d6254935f 93b7298d785e57a4ef854cea3e9cd5c2c0f35849 81223b868f069755e8a46c57bfe0282021f26de7 Reviewed-on: https://gerrit.libreoffice.org/20832 Reviewed-by: David Tardon <dtardon@redhat.com> Tested-by: David Tardon <dtardon@redhat.com> (cherry picked from commit b8b7669d2e48f491cd9d8e6a32f61a121ae8034f)
Diffstat (limited to 'lotuswordpro')
-rw-r--r--lotuswordpro/source/filter/lwpfrib.cxx4
-rw-r--r--lotuswordpro/source/filter/lwpfribsection.cxx47
-rw-r--r--lotuswordpro/source/filter/lwppara.cxx2
-rw-r--r--lotuswordpro/source/filter/xfilter/xfcell.cxx2
4 files changed, 33 insertions, 22 deletions
diff --git a/lotuswordpro/source/filter/lwpfrib.cxx b/lotuswordpro/source/filter/lwpfrib.cxx
index d578007f8a0e..96833c7a164d 100644
--- a/lotuswordpro/source/filter/lwpfrib.cxx
+++ b/lotuswordpro/source/filter/lwpfrib.cxx
@@ -257,11 +257,13 @@ void LwpFrib::RegisterStyle(LwpFoundry* pFoundry)
}
if (pNamedStyle)
{
+ LwpCharacterStyle* pCharStyle = nullptr;
if (m_pModifiers->FontID && pFoundry)
+ pCharStyle = dynamic_cast<LwpCharacterStyle*>(m_pModifiers->CharStyleID.obj().get());
+ if (pCharStyle)
{
pStyle = new XFTextStyle();
*pStyle = *pNamedStyle;
- LwpCharacterStyle* pCharStyle = dynamic_cast<LwpCharacterStyle*>(m_pModifiers->CharStyleID.obj().get());
pStyle->SetStyleName("");
pFont = pFoundry->GetFontManger().CreateOverrideFont(pCharStyle->GetFinalFontID(),m_pModifiers->FontID);
diff --git a/lotuswordpro/source/filter/lwpfribsection.cxx b/lotuswordpro/source/filter/lwpfribsection.cxx
index e14993c8ebdd..74cc81d78024 100644
--- a/lotuswordpro/source/filter/lwpfribsection.cxx
+++ b/lotuswordpro/source/filter/lwpfribsection.cxx
@@ -193,7 +193,7 @@ void LwpFribSection::SetDefaultAlphaIndex(XFIndex * pXFIndex)
LwpIndexSection* pIndexSection = dynamic_cast<LwpIndexSection*>(m_Section.obj().get());
XFIndexTemplate * pTemplateSep = new XFIndexTemplate();
- if (pIndexSection->IsFormatSeparator())
+ if (pIndexSection && pIndexSection->IsFormatSeparator())
{
pXFIndex->SetSeparator(true);
pTemplateSep->AddEntry(enumXFIndexTemplateText,"");
@@ -219,7 +219,7 @@ void LwpFribSection::SetDefaultAlphaIndex(XFIndex * pXFIndex)
pTemplate3->AddEntry(enumXFIndexTemplateTab,"");
pTemplate3->AddEntry(enumXFIndexTemplatePage,"");
- if (pIndexSection->IsFormatRunin())
+ if (pIndexSection && pIndexSection->IsFormatRunin())
{
//pXFIndex->AddTemplate(OUString::number(2),"Primary",pTemplate2);
//pXFIndex->AddTemplate(OUString::number(3),"Primary",pTemplate3);
@@ -247,10 +247,13 @@ LwpMasterPage::LwpMasterPage(LwpPara* pPara, LwpPageLayout* pLayout)
*/
bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib)
{
- //if there is no other frib after current firb, register master page in starting para of next page
- if(IsNextPageType()&&(!pFrib->HasNextFrib()))
+ //if there is no other frib after current frib, register master page in starting para of next page
+ LwpStory* pStory = nullptr;
+ if (IsNextPageType()&&(!pFrib->HasNextFrib()))
+ pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
+
+ if (pStory)
{
- LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
pStory->SetCurrentLayout(m_pLayout);
RegisterFillerPageStyle();
return false;
@@ -281,14 +284,17 @@ bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib)
case LwpLayout::StartOnOddPage: //fall through
case LwpLayout::StartOnEvenPage:
{
- LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
- pStory->SetCurrentLayout(m_pLayout);
- //get odd page layout when the current pagelayout is mirror
- m_pLayout = pStory->GetCurrentLayout();
- m_bNewSection = IsNeedSection();
- //bSectionColumns = m_bNewSection;
- pOverStyle->SetMasterPage( m_pLayout->GetStyleName());
- RegisterFillerPageStyle();
+ pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
+ if (pStory)
+ {
+ pStory->SetCurrentLayout(m_pLayout);
+ //get odd page layout when the current pagelayout is mirror
+ m_pLayout = pStory->GetCurrentLayout();
+ m_bNewSection = IsNeedSection();
+ //bSectionColumns = m_bNewSection;
+ pOverStyle->SetMasterPage( m_pLayout->GetStyleName());
+ RegisterFillerPageStyle();
+ }
break;
}
default:
@@ -296,7 +302,10 @@ bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib)
}
//register tab style;
- LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
+ pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
+ if (!pStory)
+ return false;
+
pStory->SetTabLayout(m_pLayout);
m_pPara->RegisterTabStyle(pOverStyle);
@@ -308,7 +317,7 @@ bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib)
XFSectionStyle* pSectStyle= new XFSectionStyle();
//set margin
pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
- if(pStory)
+ if (pStory)
{
LwpPageLayout* pCurrentLayout = pStory->GetCurrentLayout();
double fLeft = m_pLayout->GetMarginsValue(MARGIN_LEFT)- pCurrentLayout->GetMarginsValue(MARGIN_LEFT);
@@ -341,7 +350,7 @@ bool LwpMasterPage::IsNeedSection()
//get story
LwpStory* pStory = dynamic_cast<LwpStory*>(m_pPara->GetStoryID().obj().get());
//if pagelayout is modified, register the pagelayout
- if(pStory->IsPMModified())
+ if (pStory && pStory->IsPMModified())
{
bNewSection = pStory->IsNeedSection();
}
@@ -398,13 +407,13 @@ void LwpMasterPage::ParseSection(LwpFrib* pFrib)
pCurrContainer->RemoveLastContent();
}
}
- //end,06/28/2005
- pStory->AddXFContent( pContent );
+ if (pStory)
+ pStory->AddXFContent( pContent );
}
else
{
LwpStory* pStory = dynamic_cast<LwpStory*> ( m_pPara->GetStoryID().obj().get() );
- pContent = pStory->GetXFContent();
+ pContent = pStory ? pStory->GetXFContent() : nullptr;
}
if(pContent)
{
diff --git a/lotuswordpro/source/filter/lwppara.cxx b/lotuswordpro/source/filter/lwppara.cxx
index e021833430ff..520be756ef9f 100644
--- a/lotuswordpro/source/filter/lwppara.cxx
+++ b/lotuswordpro/source/filter/lwppara.cxx
@@ -311,7 +311,7 @@ void LwpPara::XFConvert(XFContentContainer* pCont)
m_Fribs.SetXFPara(pPara);
m_Fribs.XFConvert();
- if (m_pBreaks)
+ if (m_pBreaks && m_pXFContainer)
AddBreakAfter(m_pXFContainer);
}
diff --git a/lotuswordpro/source/filter/xfilter/xfcell.cxx b/lotuswordpro/source/filter/xfilter/xfcell.cxx
index 31ad0a000fda..7dde717989f3 100644
--- a/lotuswordpro/source/filter/xfilter/xfcell.cxx
+++ b/lotuswordpro/source/filter/xfilter/xfcell.cxx
@@ -100,7 +100,7 @@ void XFCell::Add(XFContent *pContent)
}
if( pContent->GetContentType() == enumXFContentTable )
{
- XFTable *pTable = static_cast<XFTable*>(pContent);
+ XFTable *pTable = dynamic_cast<XFTable*>(pContent);
if( !pTable )
return;
//the sub table will fill all the cell, there can't be other contents.