From 75061a2712e2cfb02c274b246d70991d0de6a9b5 Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Mon, 21 Jan 2019 17:18:48 +0800 Subject: [PATCH 1/2] [libc] Fix the result length issue in aio_read_work. --- components/libc/aio/posix_aio.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/components/libc/aio/posix_aio.c b/components/libc/aio/posix_aio.c index 75e7de9ce3..3eb7634495 100644 --- a/components/libc/aio/posix_aio.c +++ b/components/libc/aio/posix_aio.c @@ -170,7 +170,7 @@ static void aio_read_work(struct rt_work* work, void* work_data) if (len <= 0) cb->aio_result = errno; else - cb->aio_result = 0; + cb->aio_result = len; rt_hw_interrupt_enable(level); return ; @@ -321,6 +321,7 @@ static void aio_write_work(struct rt_work* work, void* work_data) return; } + /** * The aio_write() function shall write aiocbp->aio_nbytes to the file associated * with aiocbp->aio_fildes from the buffer pointed to by aiocbp->aio_buf. The From 97560dd8e208d7b7fc2262cef135a3cbcaeae2eb Mon Sep 17 00:00:00 2001 From: Bernard Xiong Date: Mon, 21 Jan 2019 17:19:07 +0800 Subject: [PATCH 2/2] [libc] Fix the addr=NULL issue in mmap. --- components/libc/mmap/posix_mmap.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/libc/mmap/posix_mmap.c b/components/libc/mmap/posix_mmap.c index 3d405aad77..a16ace8306 100644 --- a/components/libc/mmap/posix_mmap.c +++ b/components/libc/mmap/posix_mmap.c @@ -35,7 +35,7 @@ void *mmap(void *addr, size_t length, int prot, int flags, cur = lseek(fd, 0, SEEK_SET); lseek(fd, offset, SEEK_SET); - read_bytes = read(fd, addr, length); + read_bytes = read(fd, mem, length); if (read_bytes != length) { if (addr == RT_NULL)