MdeModulePkg/Usb: Make sure data from HW is no more than expected

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Star Zeng <star.zeng@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>
This commit is contained in:
Ruiyu Ni
2018-08-02 09:57:17 +08:00
parent 70c3c2370a
commit 7fb7259fc0
3 changed files with 16 additions and 9 deletions

View File

@@ -1556,9 +1556,12 @@ XhcMonitorAsyncRequests (
//
ProcBuf = NULL;
if (Urb->Result == EFI_USB_NOERROR) {
ASSERT (Urb->Completed <= Urb->DataLen);
ProcBuf = AllocateZeroPool (Urb->Completed);
//
// Make sure the data received from HW is no more than expected.
//
if (Urb->Completed <= Urb->DataLen) {
ProcBuf = AllocateZeroPool (Urb->Completed);
}
if (ProcBuf == NULL) {
XhcUpdateAsyncRequest (Xhc, Urb);