From 715da6bde6e4e6f4176f29a27aecc5d065514dcf Mon Sep 17 00:00:00 2001 From: fangpeina Date: Thu, 25 Dec 2025 01:04:40 +0800 Subject: [PATCH] system/ymodem: fix send err when partial write Fix buffer offset calculation in ymodem_send_buffer() to correctly handle partial writes by advancing the buffer pointer and adjusting the remaining size on each retry. Signed-off-by: fangpeina --- system/ymodem/ymodem.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/system/ymodem/ymodem.c b/system/ymodem/ymodem.c index 79c131f37..354f09962 100644 --- a/system/ymodem/ymodem.c +++ b/system/ymodem/ymodem.c @@ -98,7 +98,7 @@ static int ymodem_send_buffer(FAR struct ymodem_ctx_s *ctx, ymodem_debug("send buffer data, write size is %zu\n", size); while (i < size) { - ssize_t ret = write(ctx->sendfd, buf, size); + ssize_t ret = write(ctx->sendfd, buf + i, size - i); if (ret >= 0) { ymodem_debug("send buffer data, size %zd\n", ret);