From 95573810f3963f454585fdfa756c5232f9623f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=82=B3=E3=83=AC=E3=83=83=E3=83=88?= <59412435+collett8192@users.noreply.github.com> Date: Thu, 12 Mar 2020 10:28:48 +0900 Subject: [PATCH] Fix nav_export memory leak. (#650) * Fix nav_export memory leak. * space --- src/tools/nav_export/nav/TiledNavmeshGenerator.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp b/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp index ad16bc21..f5e6f00d 100644 --- a/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp +++ b/src/tools/nav_export/nav/TiledNavmeshGenerator.cpp @@ -317,7 +317,13 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, const int ncid = rcGetChunksOverlappingRect( m_chunkyMesh, tbmin, tbmax, cid, 512 ); if( !ncid ) + { + rcFreeHeightField( m_solid ); + m_solid = nullptr; + delete[] m_triareas; + m_triareas = nullptr; return nullptr; + } m_tileTriCount = 0; @@ -452,6 +458,10 @@ unsigned char* TiledNavmeshGenerator::buildTileMesh( const int tx, const int ty, if( m_cset->nconts == 0 ) { + rcFreeCompactHeightfield( m_chf ); + rcFreeContourSet( m_cset ); + m_chf = nullptr; + m_cset = nullptr; return nullptr; }