Fix a security hole in shell binaries:

For gBS->LoadImage() if the return status is EFI_SECURITY_VIOLATION, the image handle may not be NULL.
Shell environment should not have the assumption that the output ImageHandle must be NULL if the error status is returned by gBS->LoadImage().

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@9838 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
qhuang8
2010-01-27 14:49:47 +00:00
parent 90f1486c8e
commit 6dec88649a
92 changed files with 18 additions and 2 deletions

View File

@@ -0,0 +1,15 @@
Index: shellenv/exec.c
===================================================================
--- shellenv/exec.c (revision 36)
+++ shellenv/exec.c (working copy)
@@ -2079,6 +2079,10 @@
if (!EFI_ERROR (Status)) {
goto Done;
} else {
+ //
+ // Set ImageHandle to NULL if any error status is returned.
+ //
+ ImageHandle = NULL;
Status = LibGetImageHeader (
DevicePath,
&DosHeader,