diff options
author | Julien Nabet <serval2412@yahoo.fr> | 2017-10-24 23:54:06 +0200 |
---|---|---|
committer | Julien Nabet <serval2412@yahoo.fr> | 2017-10-25 07:03:35 +0200 |
commit | f49ba490a566225d2c6b3925cfe39756a01625ba (patch) | |
tree | b52708d8e085e69b55c5ad54e8af89f740d745a1 | |
parent | 141279127b4c9ced4d86af245e1d780c473cd5bb (diff) |
tdf#113400: fix crash by destroying returned unique_ptr
Regression from https://cgit.freedesktop.org/libreoffice/core/commit/?id=19910c461230f70bb9e98ad44db3525f0d755724
tdf#112658: fix leak when calling TextEngine::SetAttrib
Change-Id: I4f1edf41e11f3cdfda6071b30a84372db68cd59d
Reviewed-on: https://gerrit.libreoffice.org/43795
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Julien Nabet <serval2412@yahoo.fr>
-rw-r--r-- | vcl/source/edit/texteng.cxx | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/vcl/source/edit/texteng.cxx b/vcl/source/edit/texteng.cxx index e1a6f6644626..d7e90cd555e9 100644 --- a/vcl/source/edit/texteng.cxx +++ b/vcl/source/edit/texteng.cxx @@ -2494,7 +2494,10 @@ void TextEngine::RemoveAttribs( sal_uInt32 nPara, sal_uInt16 nWhich ) for(sal_uInt16 nAttr = rAttribs.Count(); nAttr; --nAttr) { if(rAttribs.GetAttrib( nAttr - 1 ).Which() == nWhich) - rAttribs.RemoveAttrib( nAttr -1 ); + { + // tdf#113400 destroy unique_ptr returned + rAttribs.RemoveAttrib( nAttr -1 ).reset(); + } } TEParaPortion* pTEParaPortion = mpTEParaPortions->GetObject( nPara ); pTEParaPortion->MarkSelectionInvalid( 0 ); |