MdeModulePkg: XhciDxe: Prevent illegal memory access in XhcSetHsee
authorMarcin Wojtas <mw@semihalf.com>
Tue, 25 Sep 2018 21:57:51 +0000 (05:57 +0800)
committerStar Zeng <star.zeng@intel.com>
Wed, 26 Sep 2018 00:33:52 +0000 (08:33 +0800)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1206

Newly added XhcSetHsee() routine reads 4 bytes into
a UINT16 variable causing issues on PCIE and NonDiscoverable
Xhci controllers. Fix that.

Cc: Ruiyu Ni <ruiyu.ni@intel.com>
Cc: Fei1 Wang <fei1.wang@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Marcin Wojtas <mw@semihalf.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
MdeModulePkg/Bus/Pci/XhciDxe/XhciReg.c

index 89f073e..3ed1a55 100644 (file)
@@ -609,7 +609,7 @@ XhcSetHsee (
                         PciIo,\r
                         EfiPciIoWidthUint16,\r
                         PCI_COMMAND_OFFSET,\r
-                        sizeof (XhciCmd),\r
+                        sizeof (XhciCmd) / sizeof (UINT16),\r
                         &XhciCmd\r
                         );\r
   if (!EFI_ERROR (Status)) {\r