--- cpukit/libcsupport/include/rtems/libio_.h | 2 +- testsuites/psxtests/psxrdwrv/test.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/cpukit/libcsupport/include/rtems/libio_.h b/cpukit/libcsupport/include/rtems/libio_.h index 995d621..78a57c8 100644 --- a/cpukit/libcsupport/include/rtems/libio_.h +++ b/cpukit/libcsupport/include/rtems/libio_.h @@ -887,7 +887,7 @@ static inline ssize_t rtems_libio_iovec_eval( total += ( ssize_t ) len; - if ( iov[ v ].iov_base == NULL ) { + if ( iov[ v ].iov_base == NULL && len != 0 ) { rtems_set_errno_and_return_minus_one( EINVAL ); } } diff --git a/testsuites/psxtests/psxrdwrv/test.c b/testsuites/psxtests/psxrdwrv/test.c index 0e06674..181d9d4 100644 --- a/testsuites/psxtests/psxrdwrv/test.c +++ b/testsuites/psxtests/psxrdwrv/test.c @@ -361,7 +361,7 @@ int doErrorTest(void) /* writev -- all zero length buffers */ vec[0].iov_base = vec; vec[0].iov_len = 0; - vec[1].iov_base = vec; + vec[1].iov_base = NULL; vec[1].iov_len = 0; puts("writev iov_len works with no effect -- OK"); rc = writev(fd, vec, 2); @@ -374,7 +374,7 @@ int doErrorTest(void) /* readv -- all zero length buffers */ vec[0].iov_base = vec; vec[0].iov_len = 0; - vec[1].iov_base = vec; + vec[1].iov_base = NULL; vec[1].iov_len = 0; puts("readv iov_len works with no effect -- OK"); rc = readv(fd, vec, 2); -- 1.7.7 _______________________________________________ rtems-devel mailing list rtems-devel@rtems.org http://www.rtems.org/mailman/listinfo/rtems-devel