]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellLevel1CommandsLib/UefiShellLevel1CommandsLib.c
Shellpkg/editor: Fix a bug that may modifies Line[-1]
[mirror_edk2.git] / ShellPkg / Library / UefiShellLevel1CommandsLib / UefiShellLevel1CommandsLib.c
index a9dd6ccdabcde6c31be8f2af12f313fc42dc4d64..2b8a104da323e01308029e2f6fc0dd162281bda3 100644 (file)
@@ -1,6 +1,7 @@
 /** @file\r
   Main file for NULL named library for level 1 shell command functions.\r
 \r
+  (C) Copyright 2013 Hewlett-Packard Development Company, L.P.<BR>\r
   Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -120,7 +121,6 @@ ShellLevel1CommandsLibDestructor (
   @param[in, out] TargetCount  The pointer to the current count.\r
 **/\r
 BOOLEAN\r
-EFIAPI\r
 TestNodeForMove (\r
   IN CONST LIST_MANIP_FUNC      Function,\r
   IN CONST CHAR16               *DecrementerTag,\r
@@ -145,8 +145,16 @@ TestNodeForMove (
   //\r
   CommandName   = NULL;\r
   CommandName   = StrnCatGrow(&CommandName, NULL, CommandNode->Cl, 0);\r
+  if (CommandName == NULL) {\r
+    return (FALSE);\r
+  }\r
+\r
   CommandNameWalker = CommandName;\r
-  while(CommandNameWalker[0] == L' ') {\r
+\r
+  //\r
+  // Skip leading spaces and tabs.\r
+  //\r
+  while ((CommandNameWalker[0] == L' ') || (CommandNameWalker[0] == L'\t')) {\r
     CommandNameWalker++;\r
   }\r
   TempLocation  = StrStr(CommandNameWalker, L" ");\r
@@ -237,7 +245,6 @@ TestNodeForMove (
                                searching.\r
 **/\r
 BOOLEAN\r
-EFIAPI\r
 MoveToTag (\r
   IN CONST LIST_MANIP_FUNC      Function,\r
   IN CONST CHAR16               *DecrementerTag,\r