svx/source/xoutdev/_xpoly.cxx |   28 ++++++++++++++--------------
 1 file changed, 14 insertions(+), 14 deletions(-)

New commits:
commit 794f3a07b94d134c0393b5f804b8afaca3e20e59
Author:     Julien Nabet <serval2...@yahoo.fr>
AuthorDate: Sun Feb 27 13:16:48 2022 +0100
Commit:     Julien Nabet <serval2...@yahoo.fr>
CommitDate: Sun Feb 27 14:34:25 2022 +0100

    cid#1500627: Resource leak
    
    All the memory cleaning seems still useful even when nOldSize = 0
    
    Change-Id: Ie5a9c5e5895f545b9c352dc337141116e33e7dcc
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/130622
    Reviewed-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Julien Nabet <serval2...@yahoo.fr>
    Tested-by: Jenkins

diff --git a/svx/source/xoutdev/_xpoly.cxx b/svx/source/xoutdev/_xpoly.cxx
index 5cdbdacc93a3..844a21f07bcc 100644
--- a/svx/source/xoutdev/_xpoly.cxx
+++ b/svx/source/xoutdev/_xpoly.cxx
@@ -113,22 +113,22 @@ void ImpXPolygon::Resize( sal_uInt16 nNewSize, bool 
bDeletePoints )
     memset( pFlagAry.get(), 0, nSize );
 
     // copy if needed
-    if( !nOldSize )
-        return;
-
-    if( nOldSize < nSize )
-    {
-        memcpy( pPointAry.get(), pOldPointAry, nOldSize*sizeof( Point ) );
-        memcpy( pFlagAry.get(),  pOldFlagAry, nOldSize );
-    }
-    else
+    if (nOldSize)
     {
-        memcpy( pPointAry.get(), pOldPointAry, nSize*sizeof( Point ) );
-        memcpy( pFlagAry.get(), pOldFlagAry, nSize );
+        if( nOldSize < nSize )
+        {
+            memcpy( pPointAry.get(), pOldPointAry, nOldSize*sizeof( Point ) );
+            memcpy( pFlagAry.get(),  pOldFlagAry, nOldSize );
+        }
+        else
+        {
+            memcpy( pPointAry.get(), pOldPointAry, nSize*sizeof( Point ) );
+            memcpy( pFlagAry.get(), pOldFlagAry, nSize );
 
-        // adjust number of valid points
-        if( nPoints > nSize )
-            nPoints = nSize;
+            // adjust number of valid points
+            if( nPoints > nSize )
+                nPoints = nSize;
+        }
     }
     if ( bDeletePoints )
     {

Reply via email to