Fix linked list loops


git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8377 6f19259b-4bc3-4df7-8a09-765794883524
diff --git a/ShellPkg/Library/BaseShellLib/BaseShellLib.c b/ShellPkg/Library/BaseShellLib/BaseShellLib.c
index a439660..acc6dff 100644
--- a/ShellPkg/Library/BaseShellLib/BaseShellLib.c
+++ b/ShellPkg/Library/BaseShellLib/BaseShellLib.c
@@ -1839,7 +1839,7 @@
   //

   // enumerate through the list of parametrs

   //

-  for (Node = GetFirstNode(CheckPackage) ; Node != CheckPackage ; Node = GetNextNode(CheckPackage, Node) ) {

+  for (Node = GetFirstNode(CheckPackage) ; !IsNull (CheckPackage, Node) ; Node = GetNextNode(CheckPackage, Node) ) {

     //

     // If the Name matches, return TRUE (and there may be NULL name)

     //

@@ -1883,7 +1883,7 @@
   //

   // enumerate through the list of parametrs

   //

-  for (Node = GetFirstNode(CheckPackage) ; Node != NULL ; Node = GetNextNode(CheckPackage, Node) ) {

+  for (Node = GetFirstNode(CheckPackage) ; !IsNull (CheckPackage, Node) ; Node = GetNextNode(CheckPackage, Node) ) {

     //

     // If the Name matches, return the value (name can be NULL)

     //

@@ -1927,7 +1927,7 @@
   //

   // enumerate through the list of parametrs

   //

-  for (Node = GetFirstNode(CheckPackage) ; Node != NULL ; Node = GetNextNode(CheckPackage, Node) ) {

+  for (Node = GetFirstNode(CheckPackage) ; !IsNull (CheckPackage, Node) ; Node = GetNextNode(CheckPackage, Node) ) {

     //

     // If the position matches, return the value

     //