diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7c21382b37a816a7220377b0d9eebe50c680a645..deade37d1a4999833a15faf8f8f62535d0964cf6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -133,7 +133,6 @@ if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang")
         -Wno-padded
         -Wno-global-constructors
         -Wno-exit-time-destructors
-        -Wno-vla-extension
     )
     target_link_libraries(Vivy PRIVATE
         -fopenmp
diff --git a/src/Lib/Script/CRTPLuaScriptObject.hh b/src/Lib/Script/CRTPLuaScriptObject.hh
index f94d27d78afb450cbbf7271b3b6489a008db2745..8e9920da1f8c51f0a158168bd9ebcda2c73d5e7c 100644
--- a/src/Lib/Script/CRTPLuaScriptObject.hh
+++ b/src/Lib/Script/CRTPLuaScriptObject.hh
@@ -48,7 +48,8 @@ getJobIteratorTypeFromString(const std::string_view it) noexcept
 // CRTP to expose objects to Lua
 template <class Object> class CRTPLuaScriptObject {
 protected:
-    static void __attribute__((__noreturn__)) luaGlobalError(lua_State *const L, const std::string &str) noexcept
+    static void __attribute__((__noreturn__))
+    luaGlobalError(lua_State *const L, const std::string &str) noexcept
     {
         const auto *const context = LuaContext::getContext(L);
         lua_pushfstring(L, "%s:0:%s", context->getCurrentLuaFile().c_str(), str.c_str());
diff --git a/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc b/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc
index 551a9126f79c4ab10249260d4aa905a118709bcd..d30eeee2c284e445eb5332e9db6ec1b4a1ae2656 100644
--- a/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc
+++ b/src/Lib/Script/CRTPLuaScriptObject/ModuleDeclaration.cc
@@ -99,10 +99,8 @@ ModuleDeclaration::exportJob(lua_State *const L, const int tableIndex, const std
     JobDeclaration *const job       = context->getJob(moduleName, name);
 
     if (jobItType != JobIteratorType::Line && jobItType != JobIteratorType::Syllabe) {
-        char str[itTypeStr.length() + 1];
-        std::memset(str, 0, sizeof(str));
-        std::strncpy(str, itTypeStr.data(), sizeof(str));
-        luaL_error(L, "The iteration type must be LINE or SYLLABE, got %s", str);
+        const std::string str(itTypeStr);
+        luaL_error(L, "The iteration type must be LINE or SYLLABE, got %s", str.c_str());
     }
 
     else {