]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel1CommandsLib/For.c
pointer verification (not NULL) and buffer overrun fixes.
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel1CommandsLib / For.c
index 006ce6c67599bd944a07001eb512ce4eac8582ea..ddcfd45de381cbb375db39daf08babe2f56453c2 100644 (file)
@@ -86,7 +86,17 @@ ShellCommandRunEndFor (
   Found = MoveToTag(GetPreviousNode, L"for", L"endfor", NULL, ShellCommandGetCurrentScriptFile(), FALSE, FALSE, FALSE);\r
 \r
   if (!Found) {\r
-    ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_SYNTAX_NO_MATCHING), gShellLevel1HiiHandle, L"For", L"EndFor", ShellCommandGetCurrentScriptFile()->CurrentCommand->Line);\r
+    ShellPrintHiiEx(\r
+      -1, \r
+      -1, \r
+      NULL, \r
+      STRING_TOKEN (STR_SYNTAX_NO_MATCHING), \r
+      gShellLevel1HiiHandle, \r
+      L"For", \r
+      L"EndFor", \r
+      ShellCommandGetCurrentScriptFile()!=NULL\r
+        &&ShellCommandGetCurrentScriptFile()->CurrentCommand!=NULL\r
+          ?ShellCommandGetCurrentScriptFile()->CurrentCommand->Line:0);\r
     return (SHELL_NOT_FOUND);\r
   }\r
   return (SHELL_SUCCESS);\r
@@ -305,7 +315,16 @@ ShellCommandRunFor (
     // Make sure that an End exists.\r
     //\r
     if (!MoveToTag(GetNextNode, L"endfor", L"for", NULL, CurrentScriptFile, TRUE, TRUE, FALSE)) {\r
-      ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_SYNTAX_NO_MATCHING), gShellLevel1HiiHandle, L"EndFor", L"For", ShellCommandGetCurrentScriptFile()->CurrentCommand->Line);\r
+      ShellPrintHiiEx(\r
+        -1, \r
+        -1, \r
+        NULL, \r
+        STRING_TOKEN (STR_SYNTAX_NO_MATCHING), \r
+        gShellLevel1HiiHandle, \r
+        L"EndFor", \r
+        L"For", \r
+        CurrentScriptFile->CurrentCommand!=NULL\r
+          ?CurrentScriptFile->CurrentCommand->Line:0);\r
       return (SHELL_DEVICE_ERROR);\r
     }\r
 \r