From a0f711ac6b0c00726075cf7e3df8c114a764d268 Mon Sep 17 00:00:00 2001 From: muramura Date: Thu, 30 May 2024 22:30:50 +0900 Subject: [PATCH] AP_Scripting: do not send fragmented messages --- libraries/AP_Scripting/AP_Scripting.cpp | 1 + libraries/AP_Scripting/lua_scripts.cpp | 3 +++ 2 files changed, 4 insertions(+) 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(); }