From d17d8777644b9bd08d5dd79965321d6eb4de1be7 Mon Sep 17 00:00:00 2001 From: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com> Date: Fri, 6 Aug 2021 14:17:22 +0900 Subject: [PATCH] net/local: Fix receive data size calculation for local_recvmsg In psock_dgram_recvfrom function, fix code logic. --- net/local/local_recvmsg.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/local/local_recvmsg.c b/net/local/local_recvmsg.c index ccfa03bd70..6d6ecea2c4 100644 --- a/net/local/local_recvmsg.c +++ b/net/local/local_recvmsg.c @@ -289,7 +289,7 @@ psock_dgram_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len, { /* Read 32 bytes into the bit bucket */ - readlen = MIN(remaining, 32); + tmplen = MIN(remaining, 32); ret = psock_fifo_read(psock, bitbucket, &tmplen, false); if (ret < 0) { @@ -302,6 +302,7 @@ psock_dgram_recvfrom(FAR struct socket *psock, FAR void *buf, size_t len, DEBUGASSERT(tmplen <= remaining); remaining -= tmplen; + readlen += tmplen; } while (remaining > 0); }