xmloff/source/forms/layerexport.cxx |    5 ++---
 xmloff/source/forms/layerexport.hxx |    2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

New commits:
commit 39fe8e3f274a5d25afd455c253ebd96f97bd4f11
Author:     Xisco Fauli <xiscofa...@libreoffice.org>
AuthorDate: Mon Nov 11 10:50:47 2024 +0100
Commit:     Xisco Fauli <xiscofa...@libreoffice.org>
CommitDate: Mon Nov 11 15:52:24 2024 +0100

    tdf#163486: PVS: pointer not released in destructor
    
    The 'm_pControlNumberStyles' pointer was not released in destructor. A 
memory leak is possible.
    
    Change-Id: Ie60806814ec65b73d0eaf07b53e7dc133b33bf24
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/176396
    Reviewed-by: Noel Grandin <noel.gran...@collabora.co.uk>
    Tested-by: Jenkins
    Reviewed-by: Xisco Fauli <xiscofa...@libreoffice.org>

diff --git a/xmloff/source/forms/layerexport.cxx 
b/xmloff/source/forms/layerexport.cxx
index 0cc88c1f48cd..a5c604ca65f0 100644
--- a/xmloff/source/forms/layerexport.cxx
+++ b/xmloff/source/forms/layerexport.cxx
@@ -71,7 +71,6 @@ namespace xmloff
 
     OFormLayerXMLExport_Impl::OFormLayerXMLExport_Impl(SvXMLExport& _rContext)
         :m_rContext(_rContext)
-        ,m_pControlNumberStyles(nullptr)
     {
         initializePropertyMaps();
 
@@ -702,13 +701,13 @@ namespace xmloff
         OSL_ENSURE(m_xControlNumberFormats.is(), 
"OFormLayerXMLExport_Impl::getControlNumberStyleExport: could not obtain my 
default number formats!");
 
         // create the exporter
-        m_pControlNumberStyles = new SvXMLNumFmtExport(m_rContext, 
xFormatsSupplier, getControlNumberStyleNamePrefix());
+        m_pControlNumberStyles = 
std::make_unique<SvXMLNumFmtExport>(m_rContext, xFormatsSupplier, 
getControlNumberStyleNamePrefix());
     }
 
     SvXMLNumFmtExport* OFormLayerXMLExport_Impl::getControlNumberStyleExport()
     {
         ensureControlNumberStyleExport();
-        return m_pControlNumberStyles;
+        return m_pControlNumberStyles.get();
     }
 
     void OFormLayerXMLExport_Impl::excludeFromExport( const Reference< 
XControlModel >& _rxControl )
diff --git a/xmloff/source/forms/layerexport.hxx 
b/xmloff/source/forms/layerexport.hxx
index 4d19386efa13..d1296cd07e35 100644
--- a/xmloff/source/forms/layerexport.hxx
+++ b/xmloff/source/forms/layerexport.hxx
@@ -61,7 +61,7 @@ namespace xmloff
         friend class OFormLayerXMLExport;
 
         SvXMLExport&        m_rContext;
-        SvXMLNumFmtExport*  m_pControlNumberStyles;
+        std::unique_ptr<SvXMLNumFmtExport>  m_pControlNumberStyles;
 
         // ignore list for control models
         PropertySetBag      m_aIgnoreList;

Reply via email to