mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/Ip4Dxe: Fix the potential NULL pointer free
Ip4Config2SetDnsServer may cause ASSERT if the invalid DNS server address received. The issue is triggered by the NULL pointer(Tmp) free. Cc: Ye Ting <ting.ye@intel.com> Cc: Fu Siyuan <siyuan.fu@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin <jiaxin.wu@intel.com> Reviewed-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com>
This commit is contained in:
parent
32ea56f0a6
commit
d52f9163de
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
The implementation of EFI IPv4 Configuration II Protocol.
|
The implementation of EFI IPv4 Configuration II Protocol.
|
||||||
|
|
||||||
Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
|
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP<BR>
|
||||||
|
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
|
@ -741,13 +741,17 @@ Ip4Config2SetDnsServerWorker (
|
||||||
//
|
//
|
||||||
// The dns server address must be unicast.
|
// The dns server address must be unicast.
|
||||||
//
|
//
|
||||||
FreePool (Tmp);
|
if (Tmp != NULL) {
|
||||||
|
FreePool (Tmp);
|
||||||
|
}
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
|
|
||||||
for (Index1 = NewIndex + 1; Index1 < NewDnsCount; Index1++) {
|
for (Index1 = NewIndex + 1; Index1 < NewDnsCount; Index1++) {
|
||||||
if (EFI_IP4_EQUAL (NewDns + NewIndex, NewDns + Index1)) {
|
if (EFI_IP4_EQUAL (NewDns + NewIndex, NewDns + Index1)) {
|
||||||
FreePool (Tmp);
|
if (Tmp != NULL) {
|
||||||
|
FreePool (Tmp);
|
||||||
|
}
|
||||||
return EFI_INVALID_PARAMETER;
|
return EFI_INVALID_PARAMETER;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue