Index: /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.c
===================================================================
--- /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.c	(revision 29615)
+++ /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.c	(revision 29616)
@@ -2627,5 +2627,5 @@
 
             ucbLength2Match = MIN(ucbMatch, cbLength1);
-            ucbLength2Match = MIN(ucbMatch, cbLength2);
+            ucbLength2Match = MIN(ucbLength2Match, cbLength2);
 
             if(memcmp((PVOID*)pMemBuf1, (PVOID*)pMemBuf2, ucbLength2Match))
@@ -2729,5 +2729,5 @@
 
             ucbLength2Match = MIN(ucbMatch, cbLength1);
-            ucbLength2Match = MIN(ucbMatch, cbLength2);
+            ucbLength2Match = MIN(ucbLength2Match, cbLength2);
 
             if(memcmp((PVOID*)pMemBuf1, (PVOID*)pMemBuf2, ucbLength2Match))
@@ -2818,5 +2818,5 @@
 
             ucbLength2Match = MIN(ucbMatch, cbLength1);
-            ucbLength2Match = MIN(ucbMatch, cbLength2);
+            ucbLength2Match = MIN(ucbLength2Match, cbLength2);
 
             if(memcmp(pMemBuf1, pMemBuf2, ucbLength2Match))
Index: /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.h
===================================================================
--- /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.h	(revision 29615)
+++ /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFlt-win.h	(revision 29616)
@@ -47,4 +47,9 @@
 
 #endif /* if DBG */
+
+/** get the PVBOXNETFLTINS from PADAPT */
+#define PADAPT_2_PVBOXNETFLTINS(_pAdapt)  ( (PVBOXNETFLTINS)((uint8_t *)(_pAdapt) - RT_OFFSETOF(VBOXNETFLTINS, u.s.IfAdaptor)) )
+/** get the PADAPT from PVBOXNETFLTINS */
+#define PVBOXNETFLTINS_2_PADAPT(_pNetFlt) ( &(_pNetFlt)->u.s.IfAdaptor )
 
 
@@ -413,5 +418,10 @@
 {
     PSEND_RSVD pSrv = (PSEND_RSVD)pPacket->ProtocolReserved;
-    return vboxNetFltWinInterlockedSearchListEntry(&pAdapt->SendPacketQueue, &pSrv->ListEntry, true);
+    bool bRet = vboxNetFltWinInterlockedSearchListEntry(&pAdapt->SendPacketQueue, &pSrv->ListEntry, true);
+#ifdef DEBUG_misha
+    PVBOXNETFLTINS pNetFlt = PADAPT_2_PVBOXNETFLTINS(pAdapt);
+    Assert(bRet == (pNetFlt->enmTrunkState == INTNETTRUNKIFSTATE_ACTIVE));
+#endif
+    return bRet;
 }
 
@@ -476,9 +486,4 @@
  * PADAPT, PVBOXNETFLTINS reference/dereference (i.e. retain/release) API *
  **************************************************************************/
-
-/** get the PVBOXNETFLTINS from PADAPT */
-#define PADAPT_2_PVBOXNETFLTINS(_pAdapt)  ( (PVBOXNETFLTINS)((uint8_t *)(_pAdapt) - RT_OFFSETOF(VBOXNETFLTINS, u.s.IfAdaptor)) )
-/** get the PADAPT from PVBOXNETFLTINS */
-#define PVBOXNETFLTINS_2_PADAPT(_pNetFlt) ( &(_pNetFlt)->u.s.IfAdaptor )
 
 DECLHIDDEN(void) vboxNetFltWinWaitDereference(PADAPT_DEVICE pState);
Index: /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltPt-win.c
===================================================================
--- /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltPt-win.c	(revision 29615)
+++ /trunk/src/VBox/HostDrivers/VBoxNetFlt/win/VBoxNetFltPt-win.c	(revision 29616)
@@ -1354,7 +1354,8 @@
             if(pLb)
             {
+#ifndef DEBUG_NETFLT_RECV_NOPACKET
                 /* should not be here */
                 Assert(0);
-
+#endif
                 if(!vboxNetFltWinLbIsFromIntNet(pLb))
                 {
@@ -1702,5 +1703,5 @@
                     {
 #ifndef VBOX_LOOPBACK_USEFLAGS
-                        pLb = vboxNetFltWinLbSearchLoopBack(pAdapt, pPacket, true /* ??? no need to keep it, so remove */);
+                        pLb = vboxNetFltWinLbSearchLoopBack(pAdapt, pPacket, false);
                         if(!pLb)
 #endif
@@ -2031,5 +2032,5 @@
             {
 #ifndef VBOX_LOOPBACK_USEFLAGS
-                PNDIS_PACKET pLb = vboxNetFltWinLbSearchLoopBack(pAdapt, pPacket, true /* ??? no need to keep it, so remove */);
+                PNDIS_PACKET pLb = vboxNetFltWinLbSearchLoopBack(pAdapt, pPacket, false);
                 if(!pLb)
 #endif
