From 1d239db59e58e0439d9f4fc61de44221bf5d9535 Mon Sep 17 00:00:00 2001 From: goldengrandpa <74250839+guoguozi123456@users.noreply.github.com> Date: Fri, 9 Jun 2023 09:09:50 +0800 Subject: [PATCH] =?UTF-8?q?[tty]=E4=BF=AE=E5=A4=8D=E5=A4=9A=E6=AC=A1scanf?= =?UTF-8?q?=E4=B9=8B=E5=90=8E,=E5=AF=BC=E8=87=B4=E4=B8=A2=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=9A=84=E9=97=AE=E9=A2=98=20(#7640)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components/drivers/tty/n_tty.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/components/drivers/tty/n_tty.c b/components/drivers/tty/n_tty.c index 5ed7d6a6f8..8b6d1d089f 100644 --- a/components/drivers/tty/n_tty.c +++ b/components/drivers/tty/n_tty.c @@ -1436,14 +1436,15 @@ static int canon_copy_from_read_buf(struct tty_struct *tty, char *b, size_t nr) size_t buf_size = RT_TTY_BUF - tail; const void *from = read_buf_addr(ldata, tail); + size_t temp_n = n; if (n > buf_size) { rt_memcpy(b, from, buf_size); b += buf_size; - n -= buf_size; + temp_n -= buf_size; from = ldata->read_buf; } - rt_memcpy(b, from, n); + rt_memcpy(b, from, temp_n); if (found) { -- GitLab