Index: /trunk/src/VBox/Devices/Network/DevE1000.cpp
===================================================================
--- /trunk/src/VBox/Devices/Network/DevE1000.cpp	(revision 82367)
+++ /trunk/src/VBox/Devices/Network/DevE1000.cpp	(revision 82368)
@@ -4535,9 +4535,9 @@
     {
         /* Calculate how many bytes we have left in this TCP segment */
-        uint32_t cb = u16MaxPktLen - pThis->u16TxPktLen;
+        uint16_t cb = u16MaxPktLen - pThis->u16TxPktLen;
         if (cb > pDesc->data.cmd.u20DTALEN)
         {
             /* This descriptor fits completely into current segment */
-            cb = pDesc->data.cmd.u20DTALEN;
+            cb = (uint16_t)pDesc->data.cmd.u20DTALEN; /* u20DTALEN at this point is guarantied to fit into 16 bits. */
             rc = e1kFallbackAddSegment(pDevIns, pThis, pDesc->data.u64BufAddr, cb, pDesc->data.cmd.fEOP /*fSend*/, fOnWorkerThread);
         }
