From 3c17ed18fa4b3fd08bdeda720cc0496b48ebf331 Mon Sep 17 00:00:00 2001 From: qhuang8 Date: Fri, 16 Mar 2007 09:24:10 +0000 Subject: [PATCH] Fix a critical bug: When reading block succeeds but detecting MBR fails, it should return error code instead of EFI_SUCCESS. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2483 6f19259b-4bc3-4df7-8a09-765794883524 --- EdkModulePkg/Universal/Disk/Partition/Dxe/Mbr.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/EdkModulePkg/Universal/Disk/Partition/Dxe/Mbr.c b/EdkModulePkg/Universal/Disk/Partition/Dxe/Mbr.c index cf790d45e3..d71698c826 100644 --- a/EdkModulePkg/Universal/Disk/Partition/Dxe/Mbr.c +++ b/EdkModulePkg/Universal/Disk/Partition/Dxe/Mbr.c @@ -162,10 +162,13 @@ Returns: BlockIo->Media->BlockSize, Mbr ); - if (EFI_ERROR (Status) || !PartitionValidMbr (Mbr, BlockIo->Media->LastBlock)) { + if (EFI_ERROR (Status)) { Found = Status; goto Done; } + if (!PartitionValidMbr (Mbr, BlockIo->Media->LastBlock)) { + goto Done; + } // // We have a valid mbr - add each partition // -- 2.39.2