[USBHUB_NEW][USBPORT] Fix buffer size calculation for multi-sz values in IRP_MN_QUERY_ID.
authorVadim Galyant <vgal@rambler.ru>
Sat, 8 Sep 2018 18:52:06 +0000 (20:52 +0200)
committerThomas Faber <thomas.faber@reactos.org>
Sun, 9 Sep 2018 09:24:48 +0000 (11:24 +0200)
Also fix some copypasta'd DPRINTs.

drivers/usb/usbhub_new/pnp.c
drivers/usb/usbport/pnp.c

index 16cd2b1..c186257 100644 (file)
@@ -1649,7 +1649,7 @@ USBH_PdoQueryId(IN PUSBHUB_PORT_PDO_EXTENSION PortExtension,
                                      DeviceDescriptor->idProduct);
             }
 
                                      DeviceDescriptor->idProduct);
             }
 
-            Length = sizeof(Buffer) - (Remaining - sizeof(UNICODE_NULL));
+            Length = sizeof(Buffer) - (Remaining - 2 * sizeof(UNICODE_NULL));
 
             Id = ExAllocatePoolWithTag(PagedPool, Length, USB_HUB_TAG);
 
 
             Id = ExAllocatePoolWithTag(PagedPool, Length, USB_HUB_TAG);
 
@@ -1662,7 +1662,7 @@ USBH_PdoQueryId(IN PUSBHUB_PORT_PDO_EXTENSION PortExtension,
 
             if (PortExtension->PortPdoFlags & USBHUB_PDO_FLAG_INIT_PORT_FAILED)
             {
 
             if (PortExtension->PortPdoFlags & USBHUB_PDO_FLAG_INIT_PORT_FAILED)
             {
-                DPRINT("USBH_PdoQueryId: BusQueryInstanceID - %S\n", Id);
+                DPRINT("USBH_PdoQueryId: BusQueryHardwareID - %S\n", Id);
             }
             else
             {
             }
             else
             {
@@ -1766,7 +1766,7 @@ USBH_PdoQueryId(IN PUSBHUB_PORT_PDO_EXTENSION PortExtension,
                                      InterfaceDescriptor->bInterfaceClass);
             }
 
                                      InterfaceDescriptor->bInterfaceClass);
             }
 
-            Length = sizeof(Buffer) - (Remaining - sizeof(UNICODE_NULL));
+            Length = sizeof(Buffer) - (Remaining - 2 * sizeof(UNICODE_NULL));
 
             Id = ExAllocatePoolWithTag(PagedPool, Length, USB_HUB_TAG);
 
 
             Id = ExAllocatePoolWithTag(PagedPool, Length, USB_HUB_TAG);
 
@@ -1779,7 +1779,7 @@ USBH_PdoQueryId(IN PUSBHUB_PORT_PDO_EXTENSION PortExtension,
 
             if (PortExtension->PortPdoFlags & USBHUB_PDO_FLAG_INIT_PORT_FAILED)
             {
 
             if (PortExtension->PortPdoFlags & USBHUB_PDO_FLAG_INIT_PORT_FAILED)
             {
-                DPRINT("USBH_PdoQueryId: BusQueryInstanceID - %S\n", Id);
+                DPRINT("USBH_PdoQueryId: BusQueryCompatibleID - %S\n", Id);
             }
             else
             {
             }
             else
             {
index 4e7a545..545b75e 100644 (file)
@@ -1493,7 +1493,7 @@ USBPORT_GetDeviceHwIds(IN PDEVICE_OBJECT FdoDevice,
                              L"USB\\ROOT_HUB");
     }
 
                              L"USB\\ROOT_HUB");
     }
 
-    Length = (sizeof(Buffer) - Remaining + sizeof(UNICODE_NULL));
+    Length = (sizeof(Buffer) - Remaining + 2 * sizeof(UNICODE_NULL));
 
      /* for debug only */
     if (FALSE)
 
      /* for debug only */
     if (FALSE)