From: VMware, Inc <> Date: Thu, 2 Aug 2012 06:52:58 +0000 (-0700) Subject: lib/misc: fix handling of size 0 in FileIO_Preadv X-Git-Tag: 2012.10.14-874563~58 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=488ef992c448b2d75bafd3237b566b3c44aaffc8;p=thirdparty%2Fopen-vm-tools.git lib/misc: fix handling of size 0 in FileIO_Preadv When file of size zero is used, we should return success. Signed-off-by: Dmitry Torokhov --- diff --git a/open-vm-tools/lib/file/fileIOPosix.c b/open-vm-tools/lib/file/fileIOPosix.c index 524a29abb..c62245dc6 100644 --- a/open-vm-tools/lib/file/fileIOPosix.c +++ b/open-vm-tools/lib/file/fileIOPosix.c @@ -1994,14 +1994,15 @@ FileIOPreadvInternal(FileIODescriptor *fd, // IN: File descriptor break; } bytesRead += retval; - if (retval == 0) { - fret = FILEIO_READ_ERROR_EOF; - break; - } if (bytesRead == totalSize) { fret = FILEIO_SUCCESS; break; } + if (retval == 0) { + fret = FILEIO_READ_ERROR_EOF; + break; + } + /* * This is an ambiguous case in linux preadv implementation. * If the bytesRead matches an exact iovector boundary, we need