diff options
author | Fu, Siyuan <siyuan.fu@intel.com> | 2014-08-15 05:33:34 +0000 |
---|---|---|
committer | sfu5 <sfu5@6f19259b-4bc3-4df7-8a09-765794883524> | 2014-08-15 05:33:34 +0000 |
commit | a4faf336ea8e87d0b46e54ea64ce19c8574b69e5 (patch) | |
tree | 384ccfaa148969a83d92b233342d9e416861354e /NetworkPkg/Dhcp6Dxe/ComponentName.c | |
parent | 1be2ed90a20618d71ddf34b8a07d038da0b36854 (diff) | |
download | edk2-platforms-a4faf336ea8e87d0b46e54ea64ce19c8574b69e5.tar.xz |
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 <siyuan.fu@intel.com>
Reviewed-by: Yao, Jiewen <jiewen.yao@intel.com>
git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15810 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'NetworkPkg/Dhcp6Dxe/ComponentName.c')
-rw-r--r-- | NetworkPkg/Dhcp6Dxe/ComponentName.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/NetworkPkg/Dhcp6Dxe/ComponentName.c b/NetworkPkg/Dhcp6Dxe/ComponentName.c index c7fd6075df..927a7fe7ec 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 (
|