diff --git a/util/status.cc b/util/status.cc
index ad948f0..9a310c9 100644
--- a/util/status.cc
+++ b/util/status.cc
@@ -32,8 +32,11 @@ const char* Status::CopyState(const char* state) {
assert(ret == 0);
return result;
#else
+#pragma GCC diagnostic push
+#pragma GCC diagnostic ignored "-Wstringop-overflow="
const size_t cch = std::strlen(state) + 1; // +1 for the null terminator
return std::strncpy(new char[cch], state, cch);
+#pragma GCC diagnostic pop
#endif
}