l10ntools/source/treemerge.cxx |    9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

New commits:
commit bf9ce4e056b521db8e8c997a56317ab15963dce9
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Mon Nov 14 18:36:03 2022 +0100
Commit:     Julien Nabet <serval2...@yahoo.fr>
CommitDate: Tue Nov 15 19:38:32 2022 +0100

    asan: fix leak in lcl_MergeLevel
    
    Direct leak of 2000 byte(s) in 2 object(s) allocated from:
    0 0x55906afe399e in malloc 
(/home/julien/lo/libo_perf/workdir/LinkTarget/Executable/treex+0xff99e) 
(BuildId: 5b19224d0ca2120a)
    1 0x7fd51a4abfd7 in xmlEncodeSpecialChars 
(/lib/x86_64-linux-gnu/libxml2.so.2+0x31fd7) (BuildId: 
008b52a46ddf3013589362f7f678f7a6c8dd1e56)
    2 0x55906b023403 in (anonymous namespace)::lcl_MergeLevel(_xmlDoc*, 
_xmlNode*, unsigned char const*, MergeDataFile*, rtl::OString const&, 
rtl::OString const&) treemerge.cxx
    3 0x55906b0232d4 in (anonymous namespace)::lcl_MergeLevel(_xmlDoc*, 
_xmlNode*, unsigned char const*, MergeDataFile*, rtl::OString const&, 
rtl::OString const&) treemerge.cxx
    4 0x55906b0232d4 in (anonymous namespace)::lcl_MergeLevel(_xmlDoc*, 
_xmlNode*, unsigned char const*, MergeDataFile*, rtl::OString const&, 
rtl::OString const&) treemerge.cxx
    5 0x55906b0226ef in TreeParser::Merge(rtl::OString const&, rtl::OString 
const&, rtl::OString const&) treemerge.cxx
    6 0x55906b02c0dd in sal_main_with_args(int, char**) treex.cxx
    7 0x55906b02baad in main 
(/home/julien/lo/libo_perf/workdir/LinkTarget/Executable/treex+0x147aad) 
(BuildId: 5b19224d0ca2120a)
    8 0x7fd519e46189 in __libc_start_call_main 
csu/../sysdeps/nptl/libc_start_call_main.h:58:16
    
    Change-Id: I9882cd63b91967d9b8998ba25545c11a3168e739
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/142717
    Tested-by: Jenkins
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>

diff --git a/l10ntools/source/treemerge.cxx b/l10ntools/source/treemerge.cxx
index ff48aeda6b74..860c85b38598 100644
--- a/l10ntools/source/treemerge.cxx
+++ b/l10ntools/source/treemerge.cxx
@@ -116,11 +116,10 @@ namespace
                         helper::xmlStrToOString( sTitle ).
                             replaceAll("$[officename]","%PRODUCTNAME").
                                 
replaceAll("$[officeversion]","%PRODUCTVERSION");
-                    xmlNodeSetContent(
-                        pReturn,
-                        xmlEncodeSpecialChars( nullptr,
-                            reinterpret_cast<const xmlChar*>(
-                                sNewTitle.getStr() )));
+                    xmlChar *xmlString = xmlEncodeSpecialChars(nullptr,
+                        reinterpret_cast<const xmlChar*>( sNewTitle.getStr() 
));
+                    xmlNodeSetContent( pReturn, xmlString);
+                    xmlFree( xmlString );
                     xmlFree( sTitle );
                     break;
                 }

Reply via email to