From ee6e62c3cecb28f3fc1a280eb23685fac278afa3 Mon Sep 17 00:00:00 2001 From: rongyichang Date: Tue, 5 Nov 2024 19:45:18 +0800 Subject: [PATCH] drivers/misc: fix rpmsgdev read overflow the msg count is not changed while iov len is increased. which may cause the buffer reply by server is bigger than msg count Signed-off-by: rongyichang --- drivers/misc/rpmsgdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/misc/rpmsgdev.c b/drivers/misc/rpmsgdev.c index 95cefb650f8..850ea2a533d 100644 --- a/drivers/misc/rpmsgdev.c +++ b/drivers/misc/rpmsgdev.c @@ -420,7 +420,7 @@ static ssize_t rpmsgdev_read(FAR struct file *filep, FAR char *buffer, { ret = rpmsgdev_send_recv(dev, command, true, &msg.header, sizeof(msg) - 1, &read); - if (ret != -EAGAIN || priv->nonblock) + if (ret != -EAGAIN || read.iov_len > 0 || priv->nonblock) { break; }