diff --git a/profiler/src/profiler/TracyStorage.cpp b/profiler/src/profiler/TracyStorage.cpp index 44524f4b..23b88bc6 100644 --- a/profiler/src/profiler/TracyStorage.cpp +++ b/profiler/src/profiler/TracyStorage.cpp @@ -19,6 +19,7 @@ #include #include "TracyStorage.hpp" +#include "../common/TracyString.hpp" namespace tracy { @@ -222,7 +223,7 @@ const char* GetSavePath( const char* program, uint64_t time, bool create ) const auto psz = strlen( program ); assert( psz < 512 ); char tmp[512]; - strcpy( tmp, program ); + strzcpy( tmp, program, sizeof( tmp ) ); NormalizeProgramName( tmp, psz ); sz += sprintf( buf+sz, "/tracy/sidecar/%s", tmp ); @@ -264,7 +265,7 @@ const char* GetSavePathLegacy( const char* program, uint64_t time, const char* f const auto psz = strlen( program ); assert( psz < 512 ); char tmp[512]; - strcpy( tmp, program ); + strzcpy( tmp, program, sizeof( tmp ) ); NormalizeProgramName( tmp, psz ); // 604800 = 7 days diff --git a/profiler/src/profiler/TracyView.hpp b/profiler/src/profiler/TracyView.hpp index 4af48732..d3e28800 100644 --- a/profiler/src/profiler/TracyView.hpp +++ b/profiler/src/profiler/TracyView.hpp @@ -26,6 +26,7 @@ #include "TracyUtility.hpp" #include "TracyViewData.hpp" #include "TracyWindowConstraints.hpp" +#include "../common/TracyString.hpp" #include "../server/TracyFileWrite.hpp" #include "../server/TracyTaskDispatch.hpp" #include "../server/TracyShortPtr.hpp" @@ -881,7 +882,7 @@ private: range.active = false; Reset(); match.emplace_back( srcloc ); - strcpy( pattern, name ); + strzcpy( pattern, name, sizeof( pattern ) ); } void ShowZone( int16_t srcloc, const char* name, int64_t limitMin, int64_t limitMax ) @@ -893,7 +894,7 @@ private: range.max = limitMax; Reset(); match.emplace_back( srcloc ); - strcpy( pattern, name ); + strzcpy( pattern, name, sizeof( pattern ) ); } } m_findZone; diff --git a/public/client/TracyCallstack.cpp b/public/client/TracyCallstack.cpp index 9d0b3507..a671960f 100644 --- a/public/client/TracyCallstack.cpp +++ b/public/client/TracyCallstack.cpp @@ -1490,7 +1490,7 @@ const char* DecodeCallstackPtrFast( uint64_t ptr ) } if( symname ) { - strcpy( ret, symname ); + strzcpy( ret, symname, sizeof( ret ) ); } else { @@ -1883,7 +1883,7 @@ const char* DecodeCallstackPtrFast( uint64_t ptr ) } if( symname ) { - strcpy( ret, symname ); + strzcpy( ret, symname, sizeof( ret ) ); } else { diff --git a/server/TracyBroadcast.cpp b/server/TracyBroadcast.cpp index f1c44656..8190d776 100644 --- a/server/TracyBroadcast.cpp +++ b/server/TracyBroadcast.cpp @@ -1,7 +1,9 @@ -#include "TracyBroadcast.hpp" #include #include +#include "TracyBroadcast.hpp" +#include "../common/TracyString.hpp" + namespace tracy { @@ -32,7 +34,7 @@ std::optional ParseBroadcastMessage( const char* msg, size_t m out.protocolVersion = bm.protocolVersion; out.activeTime = bm.activeTime; out.listenPort = bm.listenPort; - strcpy( out.programName, bm.programName ); + strzcpy( out.programName, bm.programName, sizeof( out.programName ) ); out.pid = 0; return out; } @@ -46,7 +48,7 @@ std::optional ParseBroadcastMessage( const char* msg, size_t m out.protocolVersion = bm.protocolVersion; out.activeTime = bm.activeTime; out.listenPort = bm.listenPort; - strcpy( out.programName, bm.programName ); + strzcpy( out.programName, bm.programName, sizeof( out.programName ) ); out.pid = 0; return out; } @@ -60,7 +62,7 @@ std::optional ParseBroadcastMessage( const char* msg, size_t m out.protocolVersion = bm.protocolVersion; out.activeTime = bm.activeTime; out.listenPort = 8086; - strcpy( out.programName, bm.programName ); + strzcpy( out.programName, bm.programName, sizeof( out.programName ) ); out.pid = 0; return out; }