From: Paul Floyd Date: Wed, 22 Nov 2023 08:08:30 +0000 (+0100) Subject: FreeBSD: wrong level of indirection and unsigned >= 0 comparison X-Git-Tag: VALGRIND_3_23_0~244 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b748cc9e16a53ef2305c6c74e24e062fd655776a;p=thirdparty%2Fvalgrind.git FreeBSD: wrong level of indirection and unsigned >= 0 comparison --- diff --git a/coregrind/m_syswrap/syswrap-freebsd.c b/coregrind/m_syswrap/syswrap-freebsd.c index 0524044797..23f93fa874 100644 --- a/coregrind/m_syswrap/syswrap-freebsd.c +++ b/coregrind/m_syswrap/syswrap-freebsd.c @@ -2957,7 +2957,7 @@ PRE(sys_aio_return) // read or write? if (ML_(safe_to_deref)((struct vki_aiocb *)ARG1, sizeof(struct vki_aiocb))) { SET_STATUS_from_SysRes(VG_(do_syscall1)(SYSNO, ARG1)); - if (SUCCESS && RES >= 0) { + if (SUCCESS) { struct vki_aiocb* iocb = (struct vki_aiocb*)ARG1; if (!aio_init_done) { aio_init(); @@ -6933,8 +6933,7 @@ PRE(sys_aio_readv) #pragma clang diagnostic pop #endif PRE_MEM_READ("aio_readv(iocb->aio_iov)", (Addr)p_iovec, vec_count*sizeof(struct vki_iovec)); - // @todo PJF check that p_iovec is accessible - if (ML_(safe_to_deref)(p_iovec, vec_count*sizeof(struct vki_iovec*))) { + if (ML_(safe_to_deref)(p_iovec, vec_count*sizeof(struct vki_iovec))) { for (SizeT i = 0U; i < vec_count; ++i) { PRE_MEM_WRITE("aio_writev(iocb->aio_iov[...])", (Addr)p_iovec[i].iov_base, p_iovec[i].iov_len);