]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiHandleParsingLib/UefiHandleParsingLib.c
ShellPkg: Add NULL pointer check.
[mirror_edk2.git] / ShellPkg / Library / UefiHandleParsingLib / UefiHandleParsingLib.c
index efafe6f5350dd61759c3677dff9c0a9056e23b6f..a81d1f208a2761f4560c35c10feb1352ffa4b4bd 100644 (file)
@@ -301,14 +301,26 @@ GraphicsOutputProtocolDumpInformation(
 \r
   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);\r
+  if (Temp == NULL) {\r
+    SHELL_FREE_NON_NULL (RetVal);\r
+    goto EXIT;\r
+  }\r
 
   TempRetVal = CatSPrint (RetVal, Temp);
-  SHELL_FREE_NON_NULL (RetVal);
+  SHELL_FREE_NON_NULL (RetVal);\r
+  if (TempRetVal == NULL) {\r
+    goto EXIT;\r
+  }\r
   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);\r
+  if (Temp == NULL) {\r
+    SHELL_FREE_NON_NULL (RetVal);\r
+    goto EXIT;\r
+  }\r
+\r
 
   for (Mode = 0; Mode < GraphicsOutput->Mode->MaxMode; Mode++) {
     Status = GraphicsOutput->QueryMode (
@@ -334,6 +346,8 @@ GraphicsOutputProtocolDumpInformation(
     RetVal = TempRetVal;
   }
 
+\r
+EXIT:\r
   SHELL_FREE_NON_NULL(Temp);\r
   SHELL_FREE_NON_NULL(Fmt);\r
 \r
@@ -348,7 +362,7 @@ GraphicsOutputProtocolDumpInformation(
   @param[in] TheHandle      The handle that has LoadedImage installed.
   @param[in] Verbose        TRUE for additional information, FALSE otherwise.
 
-  @retval A poitner to a string containing the information.
+  @retval A pointer to a string containing the information.
 **/
 CHAR16*
 EFIAPI
@@ -364,7 +378,7 @@ EdidDiscoveredProtocolDumpInformation (
   CHAR16                                *TempRetVal;
 
   if (!Verbose) {
-    return (CatSPrint(NULL, L"EDIDDiscovered"));
+    return (CatSPrint (NULL, L"EDIDDiscovered"));
   }
 
   Status = gBS->OpenProtocol (
@@ -380,7 +394,7 @@ EdidDiscoveredProtocolDumpInformation (
     return NULL;
   }
 
-  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_EDID_DISCOVERED_MAIN), NULL);
+  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN (STR_EDID_DISCOVERED_MAIN), NULL);
   if (Temp == NULL) {
     return NULL;
   }
@@ -388,8 +402,8 @@ EdidDiscoveredProtocolDumpInformation (
   RetVal = CatSPrint (NULL, Temp, EdidDiscovered->SizeOfEdid);
   SHELL_FREE_NON_NULL (Temp);
 
-  if(EdidDiscovered->SizeOfEdid != 0) {
-    Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_EDID_DISCOVERED_DATA), NULL);
+  if (EdidDiscovered->SizeOfEdid != 0) {
+    Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN (STR_EDID_DISCOVERED_DATA), NULL);
     if (Temp == NULL) {
       SHELL_FREE_NON_NULL (RetVal);
       return NULL;
@@ -412,7 +426,7 @@ EdidDiscoveredProtocolDumpInformation (
   @param[in] TheHandle      The handle that has LoadedImage installed.
   @param[in] Verbose        TRUE for additional information, FALSE otherwise.
 
-  @retval A poitner to a string containing the information.
+  @retval A pointer to a string containing the information.
 **/
 CHAR16*
 EFIAPI
@@ -428,7 +442,7 @@ EdidActiveProtocolDumpInformation (
   CHAR16                    *TempRetVal;
 
   if (!Verbose) {
-    return (CatSPrint(NULL, L"EDIDActive"));
+    return (CatSPrint (NULL, L"EDIDActive"));
   }
 
   Status = gBS->OpenProtocol (
@@ -444,7 +458,7 @@ EdidActiveProtocolDumpInformation (
     return NULL;
   }
 
-  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_EDID_ACTIVE_MAIN), NULL);
+  Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN (STR_EDID_ACTIVE_MAIN), NULL);
   if (Temp == NULL) {
     return NULL;
   }
@@ -452,8 +466,8 @@ EdidActiveProtocolDumpInformation (
   RetVal = CatSPrint (NULL, Temp, EdidActive->SizeOfEdid);
   SHELL_FREE_NON_NULL (Temp);
 
-  if(EdidActive->SizeOfEdid != 0) {
-    Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN(STR_EDID_ACTIVE_DATA), NULL);
+  if (EdidActive->SizeOfEdid != 0) {
+    Temp = HiiGetString (mHandleParsingHiiHandle, STRING_TOKEN (STR_EDID_ACTIVE_DATA), NULL);
     if (Temp == NULL) {
       SHELL_FREE_NON_NULL (RetVal);
       return NULL;