]> git.proxmox.com Git - mirror_edk2.git/commitdiff
SourceLevelDebugPkg/Usb3: Make sure data from HW can fit in buffer
authorRuiyu Ni <ruiyu.ni@intel.com>
Thu, 2 Aug 2018 07:48:52 +0000 (15:48 +0800)
committerRuiyu Ni <ruiyu.ni@intel.com>
Wed, 17 Oct 2018 03:03:59 +0000 (11:03 +0800)
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Hao A Wu <hao.a.wu@intel.com>
Reviewed-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
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