lotuswordpro/source/filter/lwpfrib.cxx | 4 +- lotuswordpro/source/filter/lwpfribsection.cxx | 44 +++++++++++++++----------- lotuswordpro/source/filter/lwppara.cxx | 2 - lotuswordpro/source/filter/xfilter/xfcell.cxx | 2 - 4 files changed, 32 insertions(+), 20 deletions(-)
New commits: commit 7e6e8aa8c51e13b016118720fc28f39a572bb8e4 Author: Caolán McNamara <caol...@redhat.com> Date: Sat Dec 19 12:34:34 2015 +0000 coverity#1343623 Logically dead code Change-Id: Ibcf05263f7bea50f70d55f4d8944d0a41d54851d (cherry picked from commit 8f3c796ecf926f81f6229fbb040095286c8adbfe) coverity#1343624 Unchecked dynamic_cast Change-Id: Ia303a5dc97fb5e491e86a3484040e657f1b480d4 (cherry picked from commit 26fddc3196c7ab932ada544b84b74da06fa2596d) coverity#1343625 Unchecked dynamic_cast Change-Id: Ib534e4e8ecf50a9159c5e98e2c899bf13f44c654 (cherry picked from commit 9e83e31019cdc68e5324a10ef76417b46720cfe9) coverity#1343626 Unchecked dynamic_cast Change-Id: I52e6d6c9cb48880185293fb9825d7a6530ee767d (cherry picked from commit c2f1731685014b9df386dfb59900783c3ca3acb7) coverity#1343627 Unchecked dynamic_cast Change-Id: I83c0febcbbf0f19a05818e0575921d1d6254935f (cherry picked from commit 1276f6daf28f61d911da9885e0cac738931e4de4) coverity#1343629 Unchecked dynamic_cast Change-Id: I93b7298d785e57a4ef854cea3e9cd5c2c0f35849 (cherry picked from commit 274d265e42ab89be29af21ef5cc1cbf20b3d35a2) 1343630 Dereference after null check Change-Id: I81223b868f069755e8a46c57bfe0282021f26de7 (cherry picked from commit 960cfb7e3ba56fe06f45c523e086ee6d4b95e685) diff --git a/lotuswordpro/source/filter/lwpfrib.cxx b/lotuswordpro/source/filter/lwpfrib.cxx index 2c69886..230437b 100644 --- a/lotuswordpro/source/filter/lwpfrib.cxx +++ b/lotuswordpro/source/filter/lwpfrib.cxx @@ -253,11 +253,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 d6ee8a5..a6ad875 100644 --- a/lotuswordpro/source/filter/lwpfribsection.cxx +++ b/lotuswordpro/source/filter/lwpfribsection.cxx @@ -190,7 +190,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,""); @@ -216,7 +216,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); @@ -245,9 +245,12 @@ LwpMasterPage::LwpMasterPage(LwpPara* pPara, LwpPageLayout* pLayout) bool LwpMasterPage::RegisterMasterPage(LwpFrib* pFrib) { //if there is no other frib after current frib, register master page in starting para of next page - if(IsNextPageType()&&(!pFrib->HasNextFrib())) + 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; @@ -278,14 +281,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: @@ -293,7 +299,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); @@ -305,7 +314,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); @@ -338,7 +347,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(); } @@ -395,12 +404,13 @@ void LwpMasterPage::ParseSection(LwpFrib* pFrib) pCurrContainer->RemoveLastContent(); } } - 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 725b914..7cd676c 100644 --- a/lotuswordpro/source/filter/lwppara.cxx +++ b/lotuswordpro/source/filter/lwppara.cxx @@ -305,7 +305,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 94c696f..2a81548 100644 --- a/lotuswordpro/source/filter/xfilter/xfcell.cxx +++ b/lotuswordpro/source/filter/xfilter/xfcell.cxx @@ -99,7 +99,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.
_______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits