Index: /trunk/src/VBox/Devices/Network/DevE1000.cpp
===================================================================
--- /trunk/src/VBox/Devices/Network/DevE1000.cpp	(revision 86573)
+++ /trunk/src/VBox/Devices/Network/DevE1000.cpp	(revision 86574)
@@ -3948,4 +3948,7 @@
     unsigned nDescsToFetch      = RT_MIN(nDescsAvailable, E1K_TXD_CACHE_SIZE - pThis->nTxDFetched);
     unsigned nDescsTotal        = TDLEN / sizeof(E1KTXDESC);
+    Assert(nDescsTotal != 0);
+    if (nDescsTotal == 0)
+        return 0;
     unsigned nFirstNotLoaded    = (TDH + pThis->nTxDFetched) % nDescsTotal;
     unsigned nDescsInSingleRead = RT_MIN(nDescsToFetch, nDescsTotal - nFirstNotLoaded);
@@ -5463,5 +5466,8 @@
         if (i == pThis->iTxDCurrent)
             LogRel(("E1000: >>> "));
-        LogRel(("E1000: %RGp: %R[e1ktxd]\n", e1kDescAddr(TDBAH, TDBAL, tdh++ % cDescs), &pThis->aTxDescriptors[i]));
+        if (cDescs)
+            LogRel(("E1000: %RGp: %R[e1ktxd]\n", e1kDescAddr(TDBAH, TDBAL, tdh++ % cDescs), &pThis->aTxDescriptors[i]));
+        else
+            LogRel(("E1000: <lost>: %R[e1ktxd]\n", &pThis->aTxDescriptors[i]));
     }
 }
@@ -7345,7 +7351,11 @@
         if (i == pThis->iRxDCurrent)
             pHlp->pfnPrintf(pHlp, ">>> ");
-        pHlp->pfnPrintf(pHlp, "%RGp: %R[e1krxd]\n",
-                        e1kDescAddr(RDBAH, RDBAL, rdh++ % cDescs),
-                        &pThis->aRxDescriptors[i]);
+        if (cDescs)
+            pHlp->pfnPrintf(pHlp, "%RGp: %R[e1krxd]\n",
+                            e1kDescAddr(RDBAH, RDBAL, rdh++ % cDescs),
+                            &pThis->aRxDescriptors[i]);
+        else
+            pHlp->pfnPrintf(pHlp, "<lost>: %R[e1krxd]\n",
+                            &pThis->aRxDescriptors[i]);
     }
 #endif /* E1K_WITH_RXD_CACHE */
@@ -7374,7 +7384,11 @@
         if (i == pThis->iTxDCurrent)
             pHlp->pfnPrintf(pHlp, ">>> ");
-        pHlp->pfnPrintf(pHlp, "%RGp: %R[e1ktxd]\n",
-                        e1kDescAddr(TDBAH, TDBAL, tdh++ % cDescs),
-                        &pThis->aTxDescriptors[i]);
+        if (cDescs)
+            pHlp->pfnPrintf(pHlp, "%RGp: %R[e1ktxd]\n",
+                            e1kDescAddr(TDBAH, TDBAL, tdh++ % cDescs),
+                            &pThis->aTxDescriptors[i]);
+        else
+            pHlp->pfnPrintf(pHlp, "<lost>: %R[e1ktxd]\n",
+                            &pThis->aTxDescriptors[i]);
     }
 #endif /* E1K_WITH_TXD_CACHE */
