]> git.proxmox.com Git - mirror_edk2.git/commitdiff
ShellPkg/UefiShellDriver1CommandsLib: Make array big enough
authorZhichao Gao <zhichao.gao@intel.com>
Mon, 15 Jul 2019 06:45:29 +0000 (14:45 +0800)
committerJaben Carsey <jaben.carsey@intel.com>
Mon, 19 Aug 2019 21:54:38 +0000 (14:54 -0700)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=1941

The two CHAR16 array ChildCountStr and DeviceCountStr is
defined to hold the decimal string data of UINTN. The max
of UINTN is 18446744073709551615 and it contain 20 characters.
So make their size to 21 CHAR16s to hold the string data with
a null-terminate.
UnicodeValueToStringS regard the value input as INT64, and
21 CHARs is enough to hold the lowest value with minus '-'.
Although the value shouldn't be such big.

Cc: Jaben Carsey <jaben.carsey@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Oleksiy <oleksiyy@ami.com>
Signed-off-by: Zhichao Gao <zhichao.gao@intel.com>
Reviewed-by: Linson Augustine <Linson.augustine@intel.com>
Reviewed-by: Jaben Carsey <jaben.carsey@intel.com>
ShellPkg/Library/UefiShellDriver1CommandsLib/Drivers.c

index 794b737bd16b122281f7517e094c6e6f8faa0011..27cd278cf0e860437a7207189ccfb230ddf8b037 100644 (file)
@@ -2,7 +2,7 @@
   Main file for Drivers shell Driver1 function.\r
 \r
   (C) Copyright 2012-2015 Hewlett-Packard Development Company, L.P.<BR>\r
-  Copyright (c) 2010 - 2018, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2010 - 2019, Intel Corporation. All rights reserved.<BR>\r
   SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
@@ -263,8 +263,8 @@ ShellCommandRunDrivers (
   EFI_HANDLE          *HandleWalker;\r
   UINTN               ChildCount;\r
   UINTN               DeviceCount;\r
-  CHAR16              ChildCountStr[3];\r
-  CHAR16              DeviceCountStr[3];\r
+  CHAR16              ChildCountStr[21];\r
+  CHAR16              DeviceCountStr[21];\r
   CHAR16              *Temp2;\r
   CONST CHAR16        *FullDriverName;\r
   CHAR16              *TruncatedDriverName;\r