diff --git a/public/client/TracyCallstack.cpp b/public/client/TracyCallstack.cpp index e046001a..54b59e1e 100644 --- a/public/client/TracyCallstack.cpp +++ b/public/client/TracyCallstack.cpp @@ -117,6 +117,12 @@ extern "C" const char* ___tracy_demangle( const char* mangled ) namespace tracy { +void DestroyImageEntry( ImageEntry& entry ) +{ + tracy_free( entry.m_path ); + tracy_free( entry.m_name ); +} + #ifdef TRACY_USE_IMAGE_CACHE // when we have access to dl_iterate_phdr(), we can build a cache of address ranges to image paths // so we can quickly determine which image an address falls into. @@ -252,7 +258,7 @@ private: { for( ImageEntry& entry : m_images ) { - tracy_free( entry.m_name ); + DestroyImageEntry( entry ); } m_images.clear(); diff --git a/public/client/TracyCallstack.hpp b/public/client/TracyCallstack.hpp index 69cdef81..7d8ed6e6 100644 --- a/public/client/TracyCallstack.hpp +++ b/public/client/TracyCallstack.hpp @@ -15,6 +15,7 @@ struct ImageEntry uint64_t m_startAddress = 0; uint64_t m_endAddress = 0; char* m_name = nullptr; + char* m_path = nullptr; }; }