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:
vanjeff
2009-06-29 09:19:25 +00:00
parent f2a064736d
commit 894d038a8d
22 changed files with 90 additions and 40 deletions

View File

@@ -1,7 +1,7 @@
/** @file
Implement IP4 pesudo interface.
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
Copyright (c) 2005 - 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
@@ -582,7 +582,7 @@ Ip4SetAddress (
Type = NetGetIpClass (IpAddr);
Len = NetGetMaskLength (SubnetMask);
Netmask = gIp4AllMasks[MIN (Len, Type << 3)];
Netmask = gIp4AllMasks[MIN ((Len - 1), Type << 3)];
Interface->NetBrdcast = (IpAddr | ~Netmask);
//

View File

@@ -1,7 +1,7 @@
/** @file
This file implements the RFC2236: IGMP v2.
Copyright (c) 2005 - 2006, Intel Corporation.<BR>
Copyright (c) 2005 - 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
@@ -192,6 +192,9 @@ Ip4SendIgmpMessage (
NetbufReserve (Packet, IP4_MAX_HEADLEN);
Igmp = (IGMP_HEAD *) NetbufAllocSpace (Packet, sizeof (IGMP_HEAD), FALSE);
if (Igmp == NULL) {
return EFI_OUT_OF_RESOURCES;
}
Igmp->Type = Type;
Igmp->MaxRespTime = 0;

View File

@@ -1,6 +1,6 @@
/** @file
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
Copyright (c) 2005 - 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
@@ -1314,6 +1314,10 @@ Ip4Groups (
// host byte order
//
if (JoinFlag) {
//
// When JoinFlag is TRUE, GroupAddress shouldn't be NULL.
//
ASSERT (GroupAddress != NULL);
CopyMem (&Group, GroupAddress, sizeof (IP4_ADDR));
for (Index = 0; Index < IpInstance->GroupCount; Index++) {

View File

@@ -1,7 +1,7 @@
/** @file
IP4 input process.
Copyright (c) 2005 - 2007, Intel Corporation.<BR>
Copyright (c) 2005 - 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
@@ -265,6 +265,10 @@ Ip4Reassemble (
InsertHeadList (&Table->Bucket[Index], &Assemble->Link);
}
//
// Assemble shouldn't be NULL here
//
ASSERT (Assemble != NULL);
//
// Find the point to insert the packet: before the first