]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel1CommandsLib/Goto.c
pointer verification (not NULL) and buffer overrun fixes.
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel1CommandsLib / Goto.c
index 8213fae7ac27b23803d15f8463ce195716277d08..3e5a59c5756019d325cbca3d4c8f3a27f00960b3 100644 (file)
@@ -79,7 +79,17 @@ ShellCommandRunGoto (
       // Check forwards and then backwards for a label...\r
       //\r
       if (!MoveToTag(GetNextNode, L"endfor", L"for", CompareString, ShellCommandGetCurrentScriptFile(), FALSE, FALSE, TRUE)) {\r
-        ShellPrintHiiEx(-1, -1, NULL, STRING_TOKEN (STR_SYNTAX_NO_MATCHING), gShellLevel1HiiHandle, CompareString, L"Goto", ShellCommandGetCurrentScriptFile()->CurrentCommand->Line);\r
+        ShellPrintHiiEx(\r
+          -1, \r
+          -1, \r
+          NULL, \r
+          STRING_TOKEN (STR_SYNTAX_NO_MATCHING), \r
+          gShellLevel1HiiHandle, \r
+          CompareString, \r
+          L"Goto", \r
+          ShellCommandGetCurrentScriptFile()!=NULL\r
+            &&ShellCommandGetCurrentScriptFile()->CurrentCommand!=NULL\r
+              ?ShellCommandGetCurrentScriptFile()->CurrentCommand->Line:0);\r
         ShellStatus = SHELL_NOT_FOUND;\r
       }\r
     FreePool(CompareString);\r