From a4faf336ea8e87d0b46e54ea64ce19c8574b69e5 Mon Sep 17 00:00:00 2001 From: "Fu, Siyuan" Date: Fri, 15 Aug 2014 05:33:34 +0000 Subject: Use string pointer instead string buffer to avoid string copy operation. Use CopyMem() to guarantee the NULL terminal will always be appended to the destination string. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu, Siyuan Reviewed-by: Yao, Jiewen git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15810 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/Dhcp6Dxe/ComponentName.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'NetworkPkg/Dhcp6Dxe/ComponentName.c') diff --git a/NetworkPkg/Dhcp6Dxe/ComponentName.c b/NetworkPkg/Dhcp6Dxe/ComponentName.c index c7fd6075d..927a7fe7e 100644 --- a/NetworkPkg/Dhcp6Dxe/ComponentName.c +++ b/NetworkPkg/Dhcp6Dxe/ComponentName.c @@ -259,7 +259,7 @@ UpdateName ( { EFI_STATUS Status; EFI_DHCP6_MODE_DATA Dhcp6ModeData; - CHAR16 HandleName[64]; + CHAR16 *HandleName; if (Dhcp6 == NULL) { return EFI_INVALID_PARAMETER; @@ -279,9 +279,12 @@ UpdateName ( } if (Dhcp6ModeData.Ia == NULL) { - UnicodeSPrint (HandleName, sizeof (HandleName), L"DHCPv6 (No configured IA)"); + HandleName = L"DHCPv6 (No configured IA)"; } else { - StrnCpy (HandleName, mDhcp6ControllerName[Dhcp6ModeData.Ia->State], sizeof (HandleName) / sizeof (CHAR16) - 1); + if (Dhcp6ModeData.Ia->State > Dhcp6Rebinding) { + return EFI_DEVICE_ERROR; + } + HandleName = mDhcp6ControllerName[Dhcp6ModeData.Ia->State]; } Status = AddUnicodeString2 ( -- cgit v1.2.3