Add safe string copy.

This commit is contained in:
Bartosz Taudul
2026-07-31 23:02:36 +02:00
parent 8985887128
commit 5ef415619d
3 changed files with 33 additions and 0 deletions

View File

@@ -220,6 +220,7 @@ set(common_includes
${TRACY_PUBLIC_DIR}/common/TracyQueue.hpp
${TRACY_PUBLIC_DIR}/common/TracySocket.hpp
${TRACY_PUBLIC_DIR}/common/TracyStackFrames.hpp
${TRACY_PUBLIC_DIR}/common/TracyString.hpp
${TRACY_PUBLIC_DIR}/common/TracySystem.hpp
${TRACY_PUBLIC_DIR}/common/TracyTaggedUserlandAddress.hpp
${TRACY_PUBLIC_DIR}/common/TracyWinFamily.hpp

View File

@@ -197,6 +197,7 @@ common_includes = [
'public/common/TracyQueue.hpp',
'public/common/TracySocket.hpp',
'public/common/TracyStackFrames.hpp',
'public/common/TracyString.hpp',
'public/common/TracySystem.hpp',
'public/common/TracyTaggedUserlandAddress.hpp',
'public/common/TracyWinFamily.hpp',

View File

@@ -0,0 +1,31 @@
#ifndef __TRACYSTRING_HPP__
#define __TRACYSTRING_HPP__
#include <assert.h>
#include <stddef.h>
#include <string.h>
namespace tracy
{
static inline size_t strzcpy( char* __restrict dst, const char* __restrict src, size_t dstSize )
{
assert( dstSize > 0 );
const auto srcSz = strlen( src );
if( srcSz < dstSize )
{
memcpy( dst, src, srcSz + 1 );
return srcSz;
}
else
{
memcpy( dst, src, dstSize - 1 );
dst[dstSize - 1] = '\0';
return dstSize - 1;
}
}
}
#endif