From a8b6dc5ef739366daee6b3283aa96f9dda83239b Mon Sep 17 00:00:00 2001 From: collett Date: Wed, 11 Mar 2020 17:19:05 +0900 Subject: [PATCH] Fix nav_export memory leak. --- 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..3b3a2658 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; }