pointer verification (not NULL) and buffer overrun fixes.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11459 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
jcarsey
2011-03-30 19:33:03 +00:00
parent 6b825919f1
commit 33c031ee20
21 changed files with 338 additions and 185 deletions

View File

@@ -606,13 +606,19 @@ IfconfigGetAllNicInfoByHii (
// Construct configuration request string header
//
ConfigHdr = ConstructConfigHdr (&gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE, ChildHandle);
Length = StrLen (ConfigHdr);
if (ConfigHdr != NULL) {
Length = StrLen (ConfigHdr);
} else {
Length = 0;
}
ConfigResp = AllocateZeroPool ((Length + NIC_ITEM_CONFIG_SIZE * 2 + 100) * sizeof (CHAR16));
if (ConfigResp == NULL) {
Status = EFI_OUT_OF_RESOURCES;
goto ON_ERROR;
}
StrCpy (ConfigResp, ConfigHdr);
if (ConfigHdr != NULL) {
StrCpy (ConfigResp, ConfigHdr);
}
//
// Append OFFSET/WIDTH pair
@@ -772,10 +778,15 @@ IfconfigSetNicAddrByHii (
// Construct config request string header
//
ConfigHdr = ConstructConfigHdr (&gEfiNicIp4ConfigVariableGuid, EFI_NIC_IP4_CONFIG_VARIABLE, ChildHandle);
Length = StrLen (ConfigHdr);
if (ConfigHdr != NULL) {
Length = StrLen (ConfigHdr);
} else {
Length = 0;
}
ConfigResp = AllocateZeroPool ((Length + NIC_ITEM_CONFIG_SIZE * 2 + 100) * sizeof (CHAR16));
StrCpy (ConfigResp, ConfigHdr);
if (ConfigHdr != NULL) {
StrCpy (ConfigResp, ConfigHdr);
}
NicConfig = AllocateZeroPool (NIC_ITEM_CONFIG_SIZE);
if (NicConfig == NULL) {