Add pointer check to avoid NULL pointer dereferenced.

Cc: Jaben Carsey <[email protected]>
Cc: Tapan Shah <[email protected]>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <[email protected]>
---
 .../UefiHandleParsingLib/UefiHandleParsingLib.c      | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c 
b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
index 58f1814..830ee3b 100644
--- a/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
+++ b/ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
@@ -301,14 +301,26 @@ GraphicsOutputProtocolDumpInformation(
 
   SHELL_FREE_NON_NULL (Temp);
   
-  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN 
(STR_GOP_RES_LIST_MAIN), NULL);
+  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN 
(STR_GOP_RES_LIST_MAIN), NULL);
+  if (Temp == NULL) {
+    SHELL_FREE_NON_NULL (RetVal);
+    goto EXIT;
+  }
 
   TempRetVal = CatSPrint (RetVal, Temp);
-  SHELL_FREE_NON_NULL (RetVal);
+  SHELL_FREE_NON_NULL (RetVal);
+  if (TempRetVal) {
+    goto EXIT;
+  }
   RetVal = TempRetVal;
   SHELL_FREE_NON_NULL (Temp);
 
-  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN 
(STR_GOP_RES_LIST_ENTRY), NULL);
+  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN 
(STR_GOP_RES_LIST_ENTRY), NULL);
+  if (Temp == NULL) {
+    SHELL_FREE_NON_NULL (RetVal);
+    goto EXIT;
+  }
+
 
   for (Mode = 0; Mode < GraphicsOutput->Mode->MaxMode; Mode++) {
     Status = GraphicsOutput->QueryMode (
@@ -334,6 +346,8 @@ GraphicsOutputProtocolDumpInformation(
     RetVal = TempRetVal;
   }
 
+
+EXIT:
   SHELL_FREE_NON_NULL(Temp);
   SHELL_FREE_NON_NULL(Fmt);
 
-- 
2.7.1.windows.2

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to