Index: /trunk/src/VBox/Runtime/r3/posix/fileio-posix.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/posix/fileio-posix.cpp	(revision 76901)
+++ /trunk/src/VBox/Runtime/r3/posix/fileio-posix.cpp	(revision 76902)
@@ -458,5 +458,9 @@
 {
     if (cbToRead <= 0)
+    {
+        if (pcbRead)
+            *pcbRead = 0;
         return VINF_SUCCESS;
+    }
 
     /*
Index: /trunk/src/VBox/Runtime/r3/win/fileio-win.cpp
===================================================================
--- /trunk/src/VBox/Runtime/r3/win/fileio-win.cpp	(revision 76901)
+++ /trunk/src/VBox/Runtime/r3/win/fileio-win.cpp	(revision 76902)
@@ -416,5 +416,9 @@
 {
     if (cbToRead <= 0)
+    {
+        if (pcbRead)
+            *pcbRead = 0;
         return VINF_SUCCESS;
+    }
     ULONG cbToReadAdj = (ULONG)cbToRead;
     AssertReturn(cbToReadAdj == cbToRead, VERR_NUMBER_TOO_BIG);
