diff --git a/libraries/AP_Scripting/AP_Scripting.cpp b/libraries/AP_Scripting/AP_Scripting.cpp index 8dc40aad59fdc..0ae7913e4e3d4 100644 --- a/libraries/AP_Scripting/AP_Scripting.cpp +++ b/libraries/AP_Scripting/AP_Scripting.cpp @@ -380,6 +380,7 @@ bool AP_Scripting::arming_checks(size_t buflen, char *buffer) const lua_scripts::get_last_error_semaphore()->take_blocking(); const char *error_buf = lua_scripts::get_last_error_message(); if (error_buf != nullptr) { + buflen = buflen < 44 ? buflen : 43; hal.util->snprintf(buffer, buflen, "Scripting: %s", error_buf); lua_scripts::get_last_error_semaphore()->give(); return false; diff --git a/libraries/AP_Scripting/lua_scripts.cpp b/libraries/AP_Scripting/lua_scripts.cpp index 5a55e302d2164..a33ba0fba316f 100644 --- a/libraries/AP_Scripting/lua_scripts.cpp +++ b/libraries/AP_Scripting/lua_scripts.cpp @@ -68,6 +68,9 @@ void lua_scripts::print_error(MAV_SEVERITY severity) { return; } last_print_ms = AP_HAL::millis(); + if (strlen(error_msg_buf) > 44) { + error_msg_buf[45] = 0; + } GCS_SEND_TEXT(severity, "Lua: %s", error_msg_buf); error_msg_buf_sem.give(); }