diff --git a/gitstatus/src/arena.h b/gitstatus/src/arena.h index 569833ca..ba449e95 100644 --- a/gitstatus/src/arena.h +++ b/gitstatus/src/arena.h @@ -94,6 +94,7 @@ class Arena { template inline T* Allocate(size_t n) { static_assert(!std::is_reference(), ""); + if (n > std::numeric_limits::max() / sizeof(T)) throw std::bad_alloc(); return static_cast(Allocate(n * sizeof(T), alignof(T))); }