Index: /trunk/src/VBox/Devices/USB/VUSBSnifferPcapNg.cpp
===================================================================
--- /trunk/src/VBox/Devices/USB/VUSBSnifferPcapNg.cpp	(revision 65894)
+++ /trunk/src/VBox/Devices/USB/VUSBSnifferPcapNg.cpp	(revision 65895)
@@ -5,5 +5,5 @@
 
 /*
- * Copyright (C) 2014-2016 Oracle Corporation
+ * Copyright (C) 2014-2017 Oracle Corporation
  *
  * This file is part of VirtualBox Open Source Edition (OSE), as
@@ -450,5 +450,5 @@
 
 /** @interface_method_impl{VUSBSNIFFERFMT,pfnInit} */
-static DECLCALLBACK(int) vusbSnifferFmtPcanNgInit(PVUSBSNIFFERFMTINT pThis, PVUSBSNIFFERSTRM pStrm)
+static DECLCALLBACK(int) vusbSnifferFmtPcapNgInit(PVUSBSNIFFERFMTINT pThis, PVUSBSNIFFERSTRM pStrm)
 {
     pThis->pStrm       = pStrm;
@@ -548,5 +548,5 @@
 
 /** @interface_method_impl{VUSBSNIFFERFMT,pfnDestroy} */
-static DECLCALLBACK(void) vusbSnifferFmtPcanNgDestroy(PVUSBSNIFFERFMTINT pThis)
+static DECLCALLBACK(void) vusbSnifferFmtPcapNgDestroy(PVUSBSNIFFERFMTINT pThis)
 {
     if (pThis->pbBlockData)
@@ -556,5 +556,5 @@
 
 /** @interface_method_impl{VUSBSNIFFERFMT,pfnRecordEvent} */
-static DECLCALLBACK(int) vusbSnifferFmtPcanNgRecordEvent(PVUSBSNIFFERFMTINT pThis, PVUSBURB pUrb, VUSBSNIFFEREVENT enmEvent)
+static DECLCALLBACK(int) vusbSnifferFmtPcapNgRecordEvent(PVUSBSNIFFERFMTINT pThis, PVUSBURB pUrb, VUSBSNIFFEREVENT enmEvent)
 {
     DumpFileEpb Epb;
@@ -643,5 +643,6 @@
             cbDataLength = 0;
     }
-    else if (pUrb->enmDir == VUSBDIRECTION_SETUP)
+    else if (   pUrb->enmDir == VUSBDIRECTION_SETUP
+             && cbDataLength >= sizeof(VUSBSETUP))
         cbDataLength -= sizeof(VUSBSETUP);
 
@@ -721,9 +722,9 @@
     sizeof(VUSBSNIFFERFMTINT),
     /** pfnInit */
-    vusbSnifferFmtPcanNgInit,
+    vusbSnifferFmtPcapNgInit,
     /** pfnDestroy */
-    vusbSnifferFmtPcanNgDestroy,
+    vusbSnifferFmtPcapNgDestroy,
     /** pfnRecordEvent */
-    vusbSnifferFmtPcanNgRecordEvent
+    vusbSnifferFmtPcapNgRecordEvent
 };
 
