]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellNetwork2CommandsLib/Ifconfig6.c
ShellPkg/Dp: Add null pointer check
[mirror_edk2.git] / ShellPkg / Library / UefiShellNetwork2CommandsLib / Ifconfig6.c
index fb308cc3b6c1a1bb618d5cff5c1878eac42cbe93..377a163086cdda94e0559cb8e034e799a493e916 100644 (file)
@@ -2,6 +2,7 @@
   The implementation for Shell command IfConfig6.\r
 \r
   Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>\r
+  (C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -1317,20 +1318,21 @@ IfConfig6SetInterfaceInfo (
 \r
       VarArg= VarArg->Next;\r
 \r
-      if (StrCmp (VarArg->Arg, L"host") == 0) {\r
-        ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_IP_CONFIG), gShellNetwork2HiiHandle, Status);\r
-        ShellStatus = EFI_INVALID_PARAMETER;\r
-        goto ON_EXIT;\r
-      } else if (StrCmp (VarArg->Arg, L"gw") == 0) {\r
-        ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_GW_CONFIG), gShellNetwork2HiiHandle, Status);\r
-        ShellStatus = EFI_INVALID_PARAMETER;\r
-        goto ON_EXIT;\r
-      } else if (StrCmp (VarArg->Arg, L"dns") == 0) {\r
-        ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_DNS_CONFIG), gShellNetwork2HiiHandle, Status);\r
-        ShellStatus = EFI_INVALID_PARAMETER;\r
-        goto ON_EXIT;\r
+      if (VarArg != NULL) {\r
+        if (StrCmp (VarArg->Arg, L"host") == 0) {\r
+          ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_IP_CONFIG), gShellNetwork2HiiHandle, Status);\r
+          ShellStatus = SHELL_INVALID_PARAMETER;\r
+          goto ON_EXIT;\r
+        } else if (StrCmp (VarArg->Arg, L"gw") == 0) {\r
+          ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_GW_CONFIG), gShellNetwork2HiiHandle, Status);\r
+          ShellStatus = SHELL_INVALID_PARAMETER;\r
+          goto ON_EXIT;\r
+        } else if (StrCmp (VarArg->Arg, L"dns") == 0) {\r
+          ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_ERR_INVALID_DNS_CONFIG), gShellNetwork2HiiHandle, Status);\r
+          ShellStatus = SHELL_INVALID_PARAMETER;\r
+          goto ON_EXIT;\r
+        }\r
       }\r
-\r
     } else if (StrCmp (VarArg->Arg, L"man") == 0) {\r
       //\r
       // Set manual config policy.\r
@@ -1489,6 +1491,7 @@ IfConfig6SetInterfaceInfo (
             &CfgManAddr[Index].Address,\r
             &CfgManAddr[Index].PrefixLength\r
             );\r
+          ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG6_INFO_NEWLINE), gShellNetwork2HiiHandle);\r
         }\r
       }\r
 \r