Index: /trunk/src/VBox/Devices/Audio/DevSB16.cpp
===================================================================
--- /trunk/src/VBox/Devices/Audio/DevSB16.cpp	(revision 55024)
+++ /trunk/src/VBox/Devices/Audio/DevSB16.cpp	(revision 55025)
@@ -1687,5 +1687,5 @@
 #else
         int rc = PDMDevHlpDMAReadMemory(pThis->pDevIns, nchan, tmpbuf, dma_pos, cbToRead, &cbRead);
-        AssertMsgRC (rc, ("DMAReadMemory -> %Rrc\n", rc));
+        AssertMsgRC(rc, ("DMAReadMemory -> %Rrc\n", rc));
 #endif
 
@@ -1711,9 +1711,10 @@
 #endif /* VBOX_WITH_PDM_AUDIO_DRIVER */
 
+        Assert(cbToWrite >= cbWrittenMin);
         cbToWrite      -= cbWrittenMin;
         dma_pos         = (dma_pos + cbWrittenMin) % dma_len;
         cbWrittenTotal += cbWrittenMin;
 
-        if (!cbRead)
+        if (!cbRead || !cbWrittenMin)
             break;
     }
