[Libreoffice-commits] core.git: 2 commits - lotuswordpro/source
Caolán McNamara
caolanm at redhat.com
Wed Mar 1 09:28:12 UTC 2017
lotuswordpro/source/filter/lwpfootnote.cxx | 41 +++++++++----------
lotuswordpro/source/filter/lwppagelayout.cxx | 58 ++++++++++++---------------
2 files changed, 47 insertions(+), 52 deletions(-)
New commits:
commit ea860ba986394e72123479e32ee4f363e19386d9
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Mar 1 09:27:37 2017 +0000
fix leak
Change-Id: I6e3d1d3b43967f10a151a6b696a863383a7b1776
diff --git a/lotuswordpro/source/filter/lwpfootnote.cxx b/lotuswordpro/source/filter/lwpfootnote.cxx
index dbf35db..15bf99d 100644
--- a/lotuswordpro/source/filter/lwpfootnote.cxx
+++ b/lotuswordpro/source/filter/lwpfootnote.cxx
@@ -116,11 +116,11 @@ void LwpFribFootnote::XFConvert(XFContentContainer* pCont)
if (m_ModFlag)
{
//set footnote number font style
- XFTextSpan *pSpan = new XFTextSpan;
- pSpan->SetStyleName(GetStyleName());
+ rtl::Reference<XFTextSpan> xSpan(new XFTextSpan);
+ xSpan->SetStyleName(GetStyleName());
//add the xffootnote into the content container
- pSpan->Add(xContent.get());
- pCont->Add(pSpan);
+ xSpan->Add(xContent.get());
+ pCont->Add(xSpan.get());
}
else
{
@@ -472,27 +472,26 @@ void LwpFootnoteOptions::RegisterStyle()
*/
void LwpFootnoteOptions::RegisterFootnoteStyle()
{
- XFFootnoteConfig* pFootnoteConfig = new XFFootnoteConfig();
- pFootnoteConfig->SetStartValue(m_FootnoteNumbering.GetStartingNumber() -1);
- pFootnoteConfig->SetNumPrefix(m_FootnoteNumbering.GetLeadingText());
- pFootnoteConfig->SetNumSuffix(m_FootnoteNumbering.GetTrailingText());
+ std::unique_ptr<XFFootnoteConfig> xFootnoteConfig(new XFFootnoteConfig);
+ xFootnoteConfig->SetStartValue(m_FootnoteNumbering.GetStartingNumber() -1);
+ xFootnoteConfig->SetNumPrefix(m_FootnoteNumbering.GetLeadingText());
+ xFootnoteConfig->SetNumSuffix(m_FootnoteNumbering.GetTrailingText());
if(m_FootnoteNumbering.GetReset() == LwpFootnoteNumberOptions::RESET_PAGE)
{
- pFootnoteConfig->SetRestartOnPage();
+ xFootnoteConfig->SetRestartOnPage();
}
if(GetContinuedFrom())
{
- pFootnoteConfig->SetMessageFrom(GetContinuedFromMessage());
+ xFootnoteConfig->SetMessageFrom(GetContinuedFromMessage());
}
if(GetContinuedOn())
{
- pFootnoteConfig->SetMessageOn(GetContinuedOnMessage());
+ xFootnoteConfig->SetMessageOn(GetContinuedOnMessage());
}
- pFootnoteConfig->SetMasterPage( m_strMasterPage);
+ xFootnoteConfig->SetMasterPage( m_strMasterPage);
XFStyleManager* pXFStyleManager = LwpGlobalMgr::GetInstance()->GetXFStyleManager();
- pXFStyleManager->SetFootnoteConfig(pFootnoteConfig);
-
+ pXFStyleManager->SetFootnoteConfig(xFootnoteConfig.release());
}
/**
@@ -500,29 +499,29 @@ void LwpFootnoteOptions::RegisterFootnoteStyle()
*/
void LwpFootnoteOptions::RegisterEndnoteStyle()
{
- XFEndnoteConfig* pEndnoteConfig = new XFEndnoteConfig();
- pEndnoteConfig->SetStartValue(m_EndnoteDocNumbering.GetStartingNumber() -1);
+ std::unique_ptr<XFEndnoteConfig> xEndnoteConfig(new XFEndnoteConfig);
+ xEndnoteConfig->SetStartValue(m_EndnoteDocNumbering.GetStartingNumber() -1);
OUString message = m_EndnoteDocNumbering.GetLeadingText();
if(message.isEmpty())
{
message = "[";//default prefix
}
- pEndnoteConfig->SetNumPrefix(message);
+ xEndnoteConfig->SetNumPrefix(message);
message = m_EndnoteDocNumbering.GetTrailingText();
if(message.isEmpty())
{
message = "]";//default suffix
}
- pEndnoteConfig->SetNumSuffix(message);
+ xEndnoteConfig->SetNumSuffix(message);
if(m_EndnoteDocNumbering.GetReset() == LwpFootnoteNumberOptions::RESET_PAGE)
{
- pEndnoteConfig->SetRestartOnPage();
+ xEndnoteConfig->SetRestartOnPage();
}
- pEndnoteConfig->SetMasterPage( m_strMasterPage);
+ xEndnoteConfig->SetMasterPage( m_strMasterPage);
XFStyleManager* pXFStyleManager = LwpGlobalMgr::GetInstance()->GetXFStyleManager();
- pXFStyleManager->SetEndnoteConfig(pEndnoteConfig);
+ pXFStyleManager->SetEndnoteConfig(xEndnoteConfig.release());
}
/**
commit 637c71b0325d9422bf93f6b5076b025916725134
Author: Caolán McNamara <caolanm at redhat.com>
Date: Wed Mar 1 09:10:44 2017 +0000
coverity#1401593 Wrapper object use after free
Change-Id: I7fdaf527ffbe7d3d952c17c62707bb4a22b05f1d
diff --git a/lotuswordpro/source/filter/lwppagelayout.cxx b/lotuswordpro/source/filter/lwppagelayout.cxx
index 45e1047..0856661 100644
--- a/lotuswordpro/source/filter/lwppagelayout.cxx
+++ b/lotuswordpro/source/filter/lwppagelayout.cxx
@@ -312,8 +312,7 @@ void LwpPageLayout::ParseFootNoteSeparator(XFPageMaster * pm1)
*/
void LwpPageLayout::RegisterStyle()
{
- std::unique_ptr<XFPageMaster> xpm1(new XFPageMaster());
- m_pXFPageMaster = xpm1.get();
+ std::unique_ptr<XFPageMaster> xpm1(new XFPageMaster);
ParseGeometry(xpm1.get());
//Does not process LayoutScale, for watermark is not supported in SODC.
@@ -339,11 +338,11 @@ void LwpPageLayout::RegisterStyle()
OUString pmname = pm1->GetStyleName();
//Add master page
- XFMasterPage* p1 = new XFMasterPage;
+ std::unique_ptr<XFMasterPage> p1(new XFMasterPage);
p1->SetStyleName(GetName().str());
p1->SetPageMaster(pmname);
- p1 = static_cast<XFMasterPage*>(pXFStyleManager->AddStyle(p1).m_pStyle);
- m_StyleName = p1->GetStyleName();
+ XFMasterPage* p1_added = static_cast<XFMasterPage*>(pXFStyleManager->AddStyle(p1.release()).m_pStyle);
+ m_StyleName = p1_added->GetStyleName();
//Set footer style
LwpFooterLayout* pLayoutFooter = GetFooterLayout();
@@ -351,7 +350,7 @@ void LwpPageLayout::RegisterStyle()
{
pLayoutFooter->SetFoundry(m_pFoundry);
pLayoutFooter->RegisterStyle(pm1);
- pLayoutFooter->RegisterStyle(p1);
+ pLayoutFooter->RegisterStyle(p1_added);
}
//Set header style
@@ -360,7 +359,7 @@ void LwpPageLayout::RegisterStyle()
{
pLayoutHeader->SetFoundry(m_pFoundry);
pLayoutHeader->RegisterStyle(pm1);
- pLayoutHeader->RegisterStyle(p1);
+ pLayoutHeader->RegisterStyle(p1_added);
}
//register child layout style for mirror page and frame
RegisterChildStyle();
@@ -372,18 +371,15 @@ void LwpPageLayout::RegisterStyle()
*/
OUString LwpPageLayout::RegisterEndnoteStyle()
{
- XFPageMaster* pm1 = new XFPageMaster();
- m_pXFPageMaster = pm1;
-
- ParseGeometry( pm1 );
- ParseWaterMark( pm1);
- ParseMargins( pm1);
- ParseColumns(pm1);
- ParseBorders(pm1);
- ParseShadow(pm1);
-// ParseBackColor(pm1);
- ParseBackGround(pm1);
- //ParseFootNoteSeparator(pm1);
+ std::unique_ptr<XFPageMaster> pm1(new XFPageMaster);
+
+ ParseGeometry(pm1.get());
+ ParseWaterMark(pm1.get());
+ ParseMargins(pm1.get());
+ ParseColumns(pm1.get());
+ ParseBorders(pm1.get());
+ ParseShadow(pm1.get());
+ ParseBackGround(pm1.get());
pm1->SetTextDir(GetTextDirection());
LwpUseWhen* pUseWhen = GetUseWhen();
@@ -394,11 +390,11 @@ OUString LwpPageLayout::RegisterEndnoteStyle()
//Add the page master to stylemanager
XFStyleManager* pXFStyleManager = LwpGlobalMgr::GetInstance()->GetXFStyleManager();
- m_pXFPageMaster = pm1 = static_cast<XFPageMaster*>(pXFStyleManager->AddStyle(pm1).m_pStyle);
- OUString pmname = pm1->GetStyleName();
+ m_pXFPageMaster = static_cast<XFPageMaster*>(pXFStyleManager->AddStyle(pm1.release()).m_pStyle);
+ OUString pmname = m_pXFPageMaster->GetStyleName();
//Add master page
- XFMasterPage* p1 = new XFMasterPage;
+ std::unique_ptr<XFMasterPage> p1(new XFMasterPage);
p1->SetStyleName("Endnote");
p1->SetPageMaster(pmname);
@@ -407,8 +403,8 @@ OUString LwpPageLayout::RegisterEndnoteStyle()
if(pLayoutFooter)
{
pLayoutFooter->SetFoundry(m_pFoundry);
- pLayoutFooter->RegisterStyle(pm1);
- pLayoutFooter->RegisterStyle(p1);
+ pLayoutFooter->RegisterStyle(m_pXFPageMaster);
+ pLayoutFooter->RegisterStyle(p1.get());
}
//Set header style
@@ -416,11 +412,11 @@ OUString LwpPageLayout::RegisterEndnoteStyle()
if(pLayoutHeader)
{
pLayoutHeader->SetFoundry(m_pFoundry);
- pLayoutHeader->RegisterStyle(pm1);
- pLayoutHeader->RegisterStyle(p1);
+ pLayoutHeader->RegisterStyle(m_pXFPageMaster);
+ pLayoutHeader->RegisterStyle(p1.get());
}
- return pXFStyleManager->AddStyle(p1).m_pStyle->GetStyleName();
+ return pXFStyleManager->AddStyle(p1.release()).m_pStyle->GetStyleName();
}
/**
* @descr: Whether current page layout has columns
@@ -754,7 +750,7 @@ void LwpHeaderLayout::Read()
void LwpHeaderLayout::RegisterStyle(XFPageMaster* pm1)
{
- std::unique_ptr<XFHeaderStyle> xHeaderStyle(new XFHeaderStyle());
+ std::unique_ptr<XFHeaderStyle> xHeaderStyle(new XFHeaderStyle);
//Modify page top margin
//page top marging: from top of header to the top edge
@@ -872,7 +868,7 @@ void LwpHeaderLayout::ParseWaterMark(XFHeaderStyle * pHeaderStyle)
void LwpHeaderLayout::RegisterStyle(XFMasterPage* mp1)
{
- rtl::Reference<XFHeader> xHeader(new XFHeader());
+ rtl::Reference<XFHeader> xHeader(new XFHeader);
rtl::Reference<LwpObject> pStory = m_Content.obj();
if(pStory.is())
{
@@ -918,7 +914,7 @@ void LwpFooterLayout::Read()
void LwpFooterLayout::RegisterStyle(XFPageMaster* pm1)
{
- std::unique_ptr<XFFooterStyle> xFooterStyle(new XFFooterStyle());
+ std::unique_ptr<XFFooterStyle> xFooterStyle(new XFFooterStyle);
//Modify page bottom margin
//page bottom margin: from bottom of footer to the bottom edge
@@ -1023,7 +1019,7 @@ void LwpFooterLayout::ParseBackColor(XFFooterStyle* pFooterStyle)
void LwpFooterLayout::RegisterStyle(XFMasterPage* mp1)
{
- rtl::Reference<XFFooter> xFooter(new XFFooter());
+ rtl::Reference<XFFooter> xFooter(new XFFooter);
rtl::Reference<LwpObject> pStory = m_Content.obj(VO_STORY);
//Call the RegisterStyle first to register the styles in footer paras, and then XFConvert()
if(pStory.is())
More information about the Libreoffice-commits
mailing list