diff --git a/gitstatus/src/arena.h b/gitstatus/src/arena.h index 569833ca..cd4b374d 100644 --- a/gitstatus/src/arena.h +++ b/gitstatus/src/arena.h @@ -132,7 +132,10 @@ class Arena { inline char* StrCat(const Ts&... ts) { return [&](std::initializer_list ss) { 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(len + 1); for (StringView s : ss) { std::memcpy(p, s.ptr, s.len);