From 393a3169c2a777e3ed899c85f7827258a13f0755 Mon Sep 17 00:00:00 2001 From: Eric Dong Date: Wed, 25 Jun 2014 05:44:37 +0000 Subject: [PATCH] Refine code to make it more safely. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Eric Dong Reviewed-by: Siyuan Fu git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15589 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/Application/IfConfig6/IfConfig6.c | 3 ++- NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c | 8 ++++---- NetworkPkg/Ip6Dxe/Ip6ConfigNv.c | 3 ++- NetworkPkg/IpSecDxe/Ikev2/Utility.c | 3 ++- NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c | 1 + 5 files changed, 11 insertions(+), 7 deletions(-) diff --git a/NetworkPkg/Application/IfConfig6/IfConfig6.c b/NetworkPkg/Application/IfConfig6/IfConfig6.c index a2a35822774e..36cc7499338b 100644 --- a/NetworkPkg/Application/IfConfig6/IfConfig6.c +++ b/NetworkPkg/Application/IfConfig6/IfConfig6.c @@ -1,7 +1,7 @@ /** @file The implementation for Shell application IfConfig6. - Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -365,6 +365,7 @@ IfConfig6ParseManualAddressList ( UINT8 Prefix; UINT8 AddrCnt; + Prefix = 0; AddrCnt = 0; *BufSize = 0; *Buf = NULL; diff --git a/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c b/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c index 7591bf56bab2..8603669903fb 100644 --- a/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c +++ b/NetworkPkg/Dhcp6Dxe/Dhcp6Utility.c @@ -143,10 +143,10 @@ Dhcp6GenerateClientId ( // // Set the Duid-type, hardware-type, time and copy the hardware address. // - WriteUnaligned16 ((UINT16 *) (Duid->Duid), HTONS (Dhcp6DuidTypeLlt)); - WriteUnaligned16 ((UINT16 *) (Duid->Duid + 2), HTONS (NET_IFTYPE_ETHERNET)); - WriteUnaligned32 ((UINT32 *) (Duid->Duid + 4), HTONL (Stamp)); - + WriteUnaligned16 ((UINT16 *) ((UINT8 *)&Duid + OFFSET_OF (EFI_DHCP6_DUID, Duid)), HTONS (Dhcp6DuidTypeLlt)); + WriteUnaligned16 ((UINT16 *) ((UINT8 *)&Duid + OFFSET_OF (EFI_DHCP6_DUID, Duid) + 2), HTONS (NET_IFTYPE_ETHERNET)); + WriteUnaligned32 ((UINT32 *) ((UINT8 *)&Duid + OFFSET_OF (EFI_DHCP6_DUID, Duid) + 4), HTONL (Stamp)); + CopyMem (Duid->Duid + 8, &Mode->CurrentAddress, Mode->HwAddressSize); } diff --git a/NetworkPkg/Ip6Dxe/Ip6ConfigNv.c b/NetworkPkg/Ip6Dxe/Ip6ConfigNv.c index eaeb44b2a1cf..4716f797d4cd 100644 --- a/NetworkPkg/Ip6Dxe/Ip6ConfigNv.c +++ b/NetworkPkg/Ip6Dxe/Ip6ConfigNv.c @@ -1,7 +1,7 @@ /** @file Helper functions for configuring or obtaining the parameters relating to IP6. - Copyright (c) 2010 - 2013, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -600,6 +600,7 @@ Ip6ParseAddressListFromString ( return EFI_INVALID_PARAMETER; } + ZeroMem (&AddressInfo, sizeof (EFI_IP6_ADDRESS_INFO)); LocalString = (CHAR16 *) AllocateCopyPool (StrSize (String), String); if (LocalString == NULL) { return EFI_OUT_OF_RESOURCES; diff --git a/NetworkPkg/IpSecDxe/Ikev2/Utility.c b/NetworkPkg/IpSecDxe/Ikev2/Utility.c index f12766f3cbda..cb436b65a69e 100644 --- a/NetworkPkg/IpSecDxe/Ikev2/Utility.c +++ b/NetworkPkg/IpSecDxe/Ikev2/Utility.c @@ -1,7 +1,7 @@ /** @file The Common operations used by IKE Exchange Process. - Copyright (c) 2010 - 2011, Intel Corporation. All rights reserved.
+ Copyright (c) 2010 - 2014, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -928,6 +928,7 @@ Ikev2ChildSaSilentDelete ( FreePool (Selector); Selector = AllocateZeroPool (SelectorSize); + ASSERT (Selector != NULL); Status = EfiIpSecConfigGetNextSelector ( &Private->IpSecConfig, IPsecConfigDataTypeSad, diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c index 7175e107bb14..be3d248fa9f1 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcImpl.c @@ -600,6 +600,7 @@ EfiPxeBcDiscover ( if (EFI_ERROR (Status)) { goto ON_EXIT; } + ASSERT (NewCreatedInfo != NULL); Info = NewCreatedInfo; } else { //