add security check.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@8680 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
This file implement the EFI_DHCP4_PROTOCOL interface.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||
Copyright (c) 2006 - 2009, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -1313,12 +1313,13 @@ PxeDhcpInput (
|
||||
//
|
||||
Len = NET_ROUNDUP (sizeof (EFI_DHCP4_PACKET) + UdpPacket->TotalSize - sizeof (EFI_DHCP4_HEADER), 4);
|
||||
Wrap = NetbufAlloc (Len);
|
||||
|
||||
if (Wrap == NULL) {
|
||||
goto RESTART;
|
||||
}
|
||||
|
||||
Packet = (EFI_DHCP4_PACKET *) NetbufAllocSpace (Wrap, Len, NET_BUF_TAIL);
|
||||
ASSERT (Packet != NULL);
|
||||
|
||||
Packet->Size = Len;
|
||||
Head = &Packet->Dhcp4.Header;
|
||||
Packet->Length = NetbufCopy (UdpPacket, 0, UdpPacket->TotalSize, (UINT8 *) Head);
|
||||
|
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Function to validate, parse, process the DHCP options.
|
||||
|
||||
Copyright (c) 2006 - 2008, Intel Corporation.<BR>
|
||||
Copyright (c) 2006 - 2009, Intel Corporation.<BR>
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -668,8 +668,8 @@ DhcpValidateOptions (
|
||||
}
|
||||
|
||||
AllOption = NULL;
|
||||
Status = DhcpParseOption (Packet, &Count, &AllOption);
|
||||
|
||||
Status = DhcpParseOption (Packet, &Count, &AllOption);
|
||||
if (EFI_ERROR (Status) || (Count == 0)) {
|
||||
return Status;
|
||||
}
|
||||
@@ -679,6 +679,7 @@ DhcpValidateOptions (
|
||||
|
||||
for (Index = 0; Index < Count; Index++) {
|
||||
Option = &AllOption[Index];
|
||||
ASSERT (Option != NULL);
|
||||
|
||||
//
|
||||
// Find the format of the option then validate it.
|
||||
|
Reference in New Issue
Block a user