diff options
author | Caolán McNamara <caolanm@redhat.com> | 2015-12-19 12:34:34 +0000 |
---|---|---|
committer | Andras Timar <andras.timar@collabora.com> | 2016-01-04 12:20:38 +0100 |
commit | b6f2b0ad2dfd49aa58ebfbd9576ca5eb1b10e279 (patch) | |
tree | 9e005967a9ae2a0eea2543a8feabf60dd1ba9c89 /lotuswordpro | |
parent | 743fc27ca8e647982faabc0ab60346586eb44ceb (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.cxx | 4 | ||||
-rw-r--r-- | lotuswordpro/source/filter/lwpfribsection.cxx | 47 | ||||
-rw-r--r-- | lotuswordpro/source/filter/lwppara.cxx | 2 | ||||
-rw-r--r-- | lotuswordpro/source/filter/xfilter/xfcell.cxx | 2 |
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. |