From 90fec17427c60f53512bd81ca16e2394e92e631e Mon Sep 17 00:00:00 2001 From: Eric Katzfey <53063038+katzfey@users.noreply.github.com> Date: Thu, 29 Jan 2026 13:02:36 -0800 Subject: [PATCH] CRSF_RC: Replace strlcpy with strncpy and null termination. strlcpy is a BSD extension and is not part of standard C/C++. (#26381) It's typically not available in glibc's . --- src/drivers/rc/crsf_rc/CrsfParser.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/drivers/rc/crsf_rc/CrsfParser.cpp b/src/drivers/rc/crsf_rc/CrsfParser.cpp index 98e2a2938d..1e8b8e0d0c 100644 --- a/src/drivers/rc/crsf_rc/CrsfParser.cpp +++ b/src/drivers/rc/crsf_rc/CrsfParser.cpp @@ -264,7 +264,8 @@ static bool ProcessElrsStatus(const uint8_t *data, const uint32_t size, CrsfPack new_packet->elrs_status.packets_bad = data[2]; new_packet->elrs_status.packets_good = (data[3] << 8) | data[4]; new_packet->elrs_status.flags = data[5]; - strlcpy(new_packet->elrs_status.message, (const char *)&data[6], sizeof(new_packet->elrs_status.message)); + strncpy(new_packet->elrs_status.message, (const char *)&data[6], sizeof(new_packet->elrs_status.message) - 1); + new_packet->elrs_status.message[sizeof(new_packet->elrs_status.message) - 1] = '\0'; return true; }