Fix two bugs (#615)

* Fix wrong check for wcstombs return value
* Fix memory leak when call GetThreadDescription
This commit is contained in:
xyz1001 2023-09-08 20:02:55 +08:00 committed by GitHub
parent 95e4e01b10
commit 30fb2b5f89
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -219,15 +219,18 @@ TRACY_API const char* GetThreadName( uint32_t id )
if( hnd != 0 ) if( hnd != 0 )
{ {
PWSTR tmp; PWSTR tmp;
_GetThreadDescription( hnd, &tmp ); if( SUCCEEDED( _GetThreadDescription( hnd, &tmp ) ) )
{
auto ret = wcstombs( buf, tmp, 256 ); auto ret = wcstombs( buf, tmp, 256 );
CloseHandle( hnd ); CloseHandle( hnd );
if( ret != 0 ) LocalFree( tmp );
if( ret != static_cast<std::size_t>( -1 ) )
{ {
return buf; return buf;
} }
} }
} }
}
#elif defined __linux__ #elif defined __linux__
int cs, fd; int cs, fd;
char path[32]; char path[32];