Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Hao Wu <hao.a...@intel.com> Reviewed-by: Jeff Fan <jeff....@intel.com> --- .../Universal/BdsDxe/DeviceMngr/DeviceManager.c | 69 ++++++++++++++++++---- 1 file changed, 57 insertions(+), 12 deletions(-)
diff --git a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c index 85cbe89..48182b8 100644 --- a/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c +++ b/IntelFrameworkModulePkg/Universal/BdsDxe/DeviceMngr/DeviceManager.c @@ -1,7 +1,7 @@ /** @file The platform device manager reference implementation -Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR> +Copyright (c) 2004 - 2015, Intel Corporation. All rights reserved.<BR> This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -380,7 +380,7 @@ GetMacAddressString( } *PBuffer = String; - StrCpy(String, L"MAC:"); + StrCpyS (String, BufferLen / sizeof (CHAR16), L"MAC:"); String += 4; // @@ -1383,15 +1383,40 @@ CallDriverHealth ( String = (EFI_STRING) AllocateZeroPool (StringSize); ASSERT (String != NULL); - StrnCpy (String, DriverName, StringSize / sizeof(CHAR16)); + StrnCpyS ( + String, + StringSize / sizeof(CHAR16), + DriverName, + StringSize / sizeof(CHAR16) - 1 + ); if (!IsControllerNameEmpty) { - StrnCat (String, L" ", StringSize / sizeof(CHAR16) - StrLen(String) - 1); - StrnCat (String, ControllerName, StringSize / sizeof(CHAR16) - StrLen(String) - 1); + StrnCatS ( + String, + StringSize / sizeof(CHAR16), + L" ", + StringSize / sizeof(CHAR16) - StrLen(String) - 1 + ); + StrnCatS ( + String, + StringSize / sizeof(CHAR16), + ControllerName, + StringSize / sizeof(CHAR16) - StrLen(String) - 1 + ); } - StrnCat (String, L" ", StringSize / sizeof(CHAR16) - StrLen(String) - 1); - StrnCat (String, TmpString, StringSize / sizeof(CHAR16) - StrLen(String) - 1); - + StrnCatS ( + String, + StringSize / sizeof(CHAR16), + L" ", + StringSize / sizeof(CHAR16) - StrLen(String) - 1 + ); + StrnCatS ( + String, + StringSize / sizeof(CHAR16), + TmpString, + StringSize / sizeof(CHAR16) - StrLen(String) - 1 + ); + } else { // // Update the string will be displayed base on the driver's health status @@ -1423,13 +1448,33 @@ CallDriverHealth ( String = (EFI_STRING) AllocateZeroPool (StringSize); ASSERT (String != NULL); - StrnCpy (String, DriverName, StringSize / sizeof(CHAR16)); + StrnCpyS ( + String, + StringSize / sizeof (CHAR16), + DriverName, + StringSize / sizeof (CHAR16) - 1 + ); if (!IsControllerNameEmpty) { - StrnCat (String, L" ", StringSize / sizeof(CHAR16) - StrLen(String) - 1); - StrnCat (String, ControllerName, StringSize / sizeof(CHAR16) - StrLen(String) - 1); + StrnCatS ( + String, + StringSize / sizeof (CHAR16), + L" ", + StringSize / sizeof(CHAR16) - StrLen(String) - 1 + ); + StrnCatS ( + String, + StringSize / sizeof (CHAR16), + ControllerName, + StringSize / sizeof(CHAR16) - StrLen(String) - 1 + ); } - StrnCat (String, TmpString, StringSize / sizeof(CHAR16) - StrLen(String) - 1); + StrnCatS ( + String, + StringSize / sizeof (CHAR16), + TmpString, + StringSize / sizeof(CHAR16) - StrLen(String) - 1 + ); } FreePool (TmpString); -- 1.9.5.msysgit.0 ------------------------------------------------------------------------------ Monitor 25 network devices or servers for free with OpManager! OpManager is web-based network management software that monitors network devices and physical & virtual servers, alerts via email & sms for fault. Monitor 25 devices for free with no restriction. Download now http://ad.doubleclick.net/ddm/clk/292181274;119417398;o _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel