fix: V-001 security vulnerability

Automated security fix generated by OrbisAI Security
This commit is contained in:
orbisai0security 2026-07-11 08:06:55 +00:00
commit b5535b83f7

View file

@ -132,7 +132,10 @@ class Arena {
inline char* StrCat(const Ts&... ts) { inline char* StrCat(const Ts&... ts) {
return [&](std::initializer_list<StringView> ss) { return [&](std::initializer_list<StringView> ss) {
size_t len = 0; size_t len = 0;
for (StringView s : ss) len += s.len; for (StringView s : ss) {
assert(len + s.len >= len);
len += s.len;
}
char* p = Allocate<char>(len + 1); char* p = Allocate<char>(len + 1);
for (StringView s : ss) { for (StringView s : ss) {
std::memcpy(p, s.ptr, s.len); std::memcpy(p, s.ptr, s.len);