1. Fix buffer overflow bugs in SNP, MNP and IP6 driver.

2. Fix GCC build fail issue in DxeNetLib.

Signed-off-by: Fu Siyuan <siyuan.fu@intel.com>
Reviewed-by: Ye Ting <ting.ye@intel.com>
Reviewed-by: Ouyang Qian <qian.ouyang@intel.com>

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@14017 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
sfu5
2012-12-24 02:52:27 +00:00
parent 5b484a25f7
commit f8c075d112
4 changed files with 7 additions and 6 deletions

View File

@ -1154,6 +1154,7 @@ NetDestroyLinkList (
**/ **/
BOOLEAN BOOLEAN
EFIAPI
NetIsInHandleBuffer ( NetIsInHandleBuffer (
IN EFI_HANDLE Handle, IN EFI_HANDLE Handle,
IN UINTN NumberOfChildren, IN UINTN NumberOfChildren,

View File

@ -148,7 +148,7 @@ UpdateName (
for (Index = 0; Index < SnpModeData.HwAddressSize; Index++) { for (Index = 0; Index < SnpModeData.HwAddressSize; Index++) {
OffSet += UnicodeSPrint ( OffSet += UnicodeSPrint (
HandleName + OffSet, HandleName + OffSet,
sizeof (HandleName) - OffSet, sizeof (HandleName) - OffSet * sizeof (CHAR16),
L"%02X-", L"%02X-",
SnpModeData.CurrentAddress.Addr[Index] SnpModeData.CurrentAddress.Addr[Index]
); );
@ -162,7 +162,7 @@ UpdateName (
// //
OffSet += UnicodeSPrint ( OffSet += UnicodeSPrint (
HandleName + OffSet, HandleName + OffSet,
sizeof (HandleName) - OffSet, sizeof (HandleName) - OffSet * sizeof (CHAR16),
L", ProtocolType=0x%X, VlanId=%d)", L", ProtocolType=0x%X, VlanId=%d)",
MnpConfigData.ProtocolTypeFilter, MnpConfigData.ProtocolTypeFilter,
Instance->MnpServiceData->VlanId Instance->MnpServiceData->VlanId

View File

@ -266,7 +266,7 @@ UpdateName (
for (Index = 0; Index < Snp->Mode->HwAddressSize; Index++) { for (Index = 0; Index < Snp->Mode->HwAddressSize; Index++) {
OffSet += UnicodeSPrint ( OffSet += UnicodeSPrint (
HandleName + OffSet, HandleName + OffSet,
sizeof (HandleName) - OffSet, sizeof (HandleName) - OffSet * sizeof (CHAR16),
L"%02X-", L"%02X-",
Snp->Mode->CurrentAddress.Addr[Index] Snp->Mode->CurrentAddress.Addr[Index]
); );
@ -276,8 +276,8 @@ UpdateName (
// //
OffSet--; OffSet--;
OffSet += UnicodeSPrint ( OffSet += UnicodeSPrint (
HandleName, HandleName + OffSet,
sizeof (HandleName), sizeof (HandleName) - OffSet * sizeof (CHAR16),
L")" L")"
); );
if (gSimpleNetworkControllerNameTable != NULL) { if (gSimpleNetworkControllerNameTable != NULL) {

View File

@ -280,7 +280,7 @@ UpdateName (
} }
UnicodeSPrint ( UnicodeSPrint (
HandleName + Offset, HandleName + Offset,
sizeof(HandleName) - Offset, sizeof(HandleName) - Offset * sizeof (CHAR16),
L"DestinationAddress=%s)", L"DestinationAddress=%s)",
Address Address
); );