From 037ca23593d15d12a6c7a37567b46b7c6fcbdd48 Mon Sep 17 00:00:00 2001
From: Sergei Antonov <saproj@gmail.com>
Date: Fri, 20 Sep 2013 20:10:17 +0000
Subject: [PATCH] ShellPkg: Handle pool allocation failure

FreePool() will receive NULL if AllocateZeroPool() fails.
So a check for NULL is needed.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Sergei Antonov <saproj@gmail.com>
reviewed-by: jaben carsey <jaben.carsey@gmail.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@14689 6f19259b-4bc3-4df7-8a09-765794883524
---
 ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c b/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c
index fb9d4ec0be..2085f6c521 100644
--- a/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c
+++ b/ShellPkg/Library/UefiFileHandleLib/UefiFileHandleLib.c
@@ -84,9 +84,9 @@ FileHandleGetInfo (
     //
     // if we got an error free the memory and return NULL
     //
-    if (EFI_ERROR(Status)) {
+    if (EFI_ERROR(Status) && (FileInfo != NULL)) {
       FreePool(FileInfo);
-      return NULL;
+      FileInfo = NULL;
     }
   }
   return (FileInfo);