Push @ 1009b59b6525c16724fe2684c344a6359af28b55 >-----Original Message----- >From: [email protected] [mailto:[email protected]] On Behalf Of >Liming Gao >Sent: Monday, October 21, 2019 11:12 AM >To: [email protected]; [email protected] >Cc: [email protected]; Kinney, Michael D <[email protected]> >Subject: Re: [edk2-devel] [PATCH] MdePkg/UefiFileHandleLib: Fix potential >NULL dereference > >Reviewed-by: Liming Gao <[email protected]> > >>-----Original Message----- >>From: Marvin Häuser [mailto:[email protected]] >>Sent: Sunday, October 20, 2019 8:09 PM >>To: [email protected] >>Cc: [email protected]; Kinney, Michael D >><[email protected]>; Gao, Liming <[email protected]> >>Subject: [PATCH] MdePkg/UefiFileHandleLib: Fix potential NULL dereference >> >>From: Marvin Haeuser <[email protected]> >> >>REF: https://bugzilla.tianocore.org/show_bug.cgi?id=2293 >> >>Move the NULL check in FileHandleGetInfo() to directly after the >>allocation to prevent potential NULL dereferences. >> >>Cc: Michael D Kinney <[email protected]> >>Cc: Liming Gao <[email protected]> >>Signed-off-by: Marvin Haeuser <[email protected]> >>--- >> MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c | 28 +++++++++++-- >-- >>----- >> 1 file changed, 15 insertions(+), 13 deletions(-) >> >>diff --git a/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c >>b/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c >>index 96913c5c02b8..5dc893833a46 100644 >>--- a/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c >>+++ b/MdePkg/Library/UefiFileHandleLib/UefiFileHandleLib.c >>@@ -68,19 +68,21 @@ FileHandleGetInfo ( >> // error is expected. getting size to allocate >> >> // >> >> FileInfo = AllocateZeroPool(FileInfoSize); >> >>- // >> >>- // now get the information >> >>- // >> >>- Status = FileHandle->GetInfo(FileHandle, >> >>- &gEfiFileInfoGuid, >> >>- &FileInfoSize, >> >>- FileInfo); >> >>- // >> >>- // if we got an error free the memory and return NULL >> >>- // >> >>- if (EFI_ERROR(Status) && (FileInfo != NULL)) { >> >>- FreePool(FileInfo); >> >>- FileInfo = NULL; >> >>+ if (FileInfo != NULL) { >> >>+ // >> >>+ // now get the information >> >>+ // >> >>+ Status = FileHandle->GetInfo(FileHandle, >> >>+ &gEfiFileInfoGuid, >> >>+ &FileInfoSize, >> >>+ FileInfo); >> >>+ // >> >>+ // if we got an error free the memory and return NULL >> >>+ // >> >>+ if (EFI_ERROR(Status)) { >> >>+ FreePool(FileInfo); >> >>+ FileInfo = NULL; >> >>+ } >> >> } >> >> } >> >> return (FileInfo); >> >>-- >>2.23.0.windows.1 > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#49894): https://edk2.groups.io/g/devel/message/49894 Mute This Topic: https://groups.io/mt/35954827/21656 Group Owner: [email protected] Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]] -=-=-=-=-=-=-=-=-=-=-=-
