diff options
Diffstat (limited to 'NetworkPkg/IpSecDxe/IpSecConfigImpl.c')
-rw-r--r-- | NetworkPkg/IpSecDxe/IpSecConfigImpl.c | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/NetworkPkg/IpSecDxe/IpSecConfigImpl.c b/NetworkPkg/IpSecDxe/IpSecConfigImpl.c index e671e42e27..a976459692 100644 --- a/NetworkPkg/IpSecDxe/IpSecConfigImpl.c +++ b/NetworkPkg/IpSecDxe/IpSecConfigImpl.c @@ -1,7 +1,7 @@ /** @file
The implementation of IPSEC_CONFIG_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
@@ -1995,6 +1995,10 @@ IpSecGetVariable ( VariableNameISizeNew,
VariableNameI
);
+ if (VariableNameI == NULL) {
+ Status = EFI_OUT_OF_RESOURCES;
+ break;
+ }
VariableNameISize = VariableNameISizeNew;
Status = gRT->GetNextVariableName (
@@ -2071,7 +2075,9 @@ IpSecGetVariable ( }
ON_EXIT:
- FreePool (VariableNameI);
+ if (VariableNameI != NULL) {
+ FreePool (VariableNameI);
+ }
return Status;
}
@@ -2498,8 +2504,8 @@ IpSecCopyPolicyEntry ( //
Buffer->Capacity += EntrySize;
TempPoint = AllocatePool (Buffer->Capacity);
-
- if (Buffer->Ptr == NULL) {
+
+ if (TempPoint == NULL) {
return EFI_OUT_OF_RESOURCES;
}
//
|