]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHci.c
MdeModulePkg/SdMmcPciHcDxe: Fix double PciIo Unmap in TRB creation (CVE-2019-14587)
[mirror_edk2.git] / MdeModulePkg / Bus / Pci / SdMmcPciHcDxe / SdMmcPciHci.c
index da5559ae76e3db3bf8adf8575d6c8964feea990b..43626fff48f21a3974f16a2eb0355746e256e083 100644 (file)
@@ -1544,6 +1544,8 @@ BuildAdmaDescTable (
       PciIo,\r
       Trb->AdmaMap\r
     );\r
+    Trb->AdmaMap = NULL;\r
+\r
     PciIo->FreeBuffer (\r
       PciIo,\r
       EFI_SIZE_TO_PAGES (TableSize),\r
@@ -1753,7 +1755,6 @@ SdMmcCreateTrb (
       }\r
       Status = BuildAdmaDescTable (Trb, Private->ControllerVersion[Slot]);\r
       if (EFI_ERROR (Status)) {\r
-        PciIo->Unmap (PciIo, Trb->DataMap);\r
         goto Error;\r
       }\r
     } else if (Private->Capability[Slot].Sdma != 0) {\r