summaryrefslogtreecommitdiff
path: root/NetworkPkg/IpSecDxe/IpSecMain.c
diff options
context:
space:
mode:
authorqianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524>2011-05-31 02:03:57 +0000
committerqianouyang <qianouyang@6f19259b-4bc3-4df7-8a09-765794883524>2011-05-31 02:03:57 +0000
commit47b27101845c3ba525d1123fc87fa6cd5650ff77 (patch)
tree96fdece5083a22f2425875e85ab49c3e303cb219 /NetworkPkg/IpSecDxe/IpSecMain.c
parentb18e7050464b0809e0c8366219447e87c9124551 (diff)
downloadedk2-47b27101845c3ba525d1123fc87fa6cd5650ff77.zip
edk2-47b27101845c3ba525d1123fc87fa6cd5650ff77.tar.gz
edk2-47b27101845c3ba525d1123fc87fa6cd5650ff77.tar.bz2
Update the IPsec driver to check in invalid parameter of ProcessExt() according to UEFI Spec.
Signed-off-by: qianouyang Reviewed-by: jjin9 git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@11714 6f19259b-4bc3-4df7-8a09-765794883524
Diffstat (limited to 'NetworkPkg/IpSecDxe/IpSecMain.c')
-rw-r--r--NetworkPkg/IpSecDxe/IpSecMain.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/NetworkPkg/IpSecDxe/IpSecMain.c b/NetworkPkg/IpSecDxe/IpSecMain.c
index f98f809..a2fefa7 100644
--- a/NetworkPkg/IpSecDxe/IpSecMain.c
+++ b/NetworkPkg/IpSecDxe/IpSecMain.c
@@ -1,7 +1,7 @@
/** @file
The mian interface of IPsec Protocol.
- Copyright (c) 2009 - 2010, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2009 - 2011, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -70,6 +70,13 @@ IpSecProcess (
UINT8 OldLastHead;
BOOLEAN IsOutbound;
+ if (OptionsBuffer == NULL ||
+ OptionsLength == NULL ||
+ FragmentTable == NULL ||
+ FragmentCount == NULL
+ ) {
+ return EFI_INVALID_PARAMETER;
+ }
Private = IPSEC_PRIVATE_DATA_FROM_IPSEC (This);
IpPayload = (*FragmentTable)[0].FragmentBuffer;
IsOutbound = (BOOLEAN) ((TrafficDirection == EfiIPsecOutBound) ? TRUE : FALSE);