From e17faece3dbf516e8b220ca61a3b6f7fca74b390 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Beat=20K=C3=BCng?= Date: Fri, 5 Apr 2024 10:14:32 +0200 Subject: [PATCH] mavlink_ftp: do not store reply on kErrNoSessionsAvailable This would interfere with an existing ongoing session --- src/modules/mavlink/mavlink_ftp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/modules/mavlink/mavlink_ftp.cpp b/src/modules/mavlink/mavlink_ftp.cpp index 74ec0762ff..566c2ce38e 100644 --- a/src/modules/mavlink/mavlink_ftp.cpp +++ b/src/modules/mavlink/mavlink_ftp.cpp @@ -326,7 +326,7 @@ MavlinkFTP::_reply(mavlink_file_transfer_protocol_t *ftp_req) // we can simply resend the response. // we only keep small responses to reduce RAM usage and avoid large memcpy's. The larger responses are all data // retrievals without side-effects, meaning it's ok to reexecute them if a response gets lost - if (payload->size <= sizeof(uint32_t)) { + if (payload->size <= sizeof(uint32_t) && payload->data[0] != kErrNoSessionsAvailable) { _last_reply_valid = true; memcpy(_last_reply, ftp_req, sizeof(_last_reply)); } @@ -514,7 +514,7 @@ MavlinkFTP::ErrorCode MavlinkFTP::_workOpen(PayloadHeader *payload, int oflag) { if (_session_info.fd >= 0) { - PX4_ERR("FTP: Open failed - out of sessions\n"); + PX4_ERR("FTP: Open failed - out of sessions"); return kErrNoSessionsAvailable; }