]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SourceLevelDebugPkg/Library/DebugCommunicationLibUsb3/DebugCommunicationLibUsb3Transfer.c
SourceLevelDebugPkg/Usb3: Make sure data from HW can fit in buffer
[mirror_edk2.git] / SourceLevelDebugPkg / Library / DebugCommunicationLibUsb3 / DebugCommunicationLibUsb3Transfer.c
index fb48010a9a1b36ff1e07dbcc12720f9bd6e3f44c..fda43279a32cea01ffdfb6def4d56aaff1590750 100644 (file)
@@ -556,6 +556,13 @@ XhcDataTransfer (
 \r
   XhcExecTransfer (Handle, Urb, Timeout);\r
 \r
+  //\r
+  // Make sure the data received from HW can fit in the received buffer.\r
+  //\r
+  if (Urb->Completed > *DataLength) {\r
+    return EFI_DEVICE_ERROR;\r
+  }\r
+\r
   *DataLength     = Urb->Completed;\r
 \r
   Status = EFI_TIMEOUT;\r