diff options
author | erictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-03-10 05:01:15 +0000 |
---|---|---|
committer | erictian <erictian@6f19259b-4bc3-4df7-8a09-765794883524> | 2011-03-10 05:01:15 +0000 |
commit | e70ae46c0009d8e51b184aacf09817748082cce6 (patch) | |
tree | 51f4b6b4209b80cd63d3361a8c0552e487d835e8 /MdeModulePkg | |
parent | 487ef018038fa782571bfa5f07a9362e86d1c17b (diff) | |
download | edk2-platforms-e70ae46c0009d8e51b184aacf09817748082cce6.tar.xz |
fix null DevicePath issue.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11360 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'MdeModulePkg')
-rw-r--r-- | MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c index 875baa88b0..6b8257e1b6 100644 --- a/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c +++ b/MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBus.c @@ -193,13 +193,16 @@ RegisterAtaDevice ( DevicePath = AppendDevicePathNode (AtaBusDriverData->ParentDevicePath, NewDevicePathNode);
if (DevicePath == NULL) {
+ Status = EFI_OUT_OF_RESOURCES;
goto Done;
}
DeviceHandle = NULL;
+ RemainingDevicePath = DevicePath;
Status = gBS->LocateDevicePath (&gEfiDevicePathProtocolGuid, &RemainingDevicePath, &DeviceHandle);
if (!EFI_ERROR (Status) && (DeviceHandle != NULL) && IsDevicePathEnd(RemainingDevicePath)) {
Status = EFI_ALREADY_STARTED;
+ FreePool (DevicePath);
goto Done;
}
|