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:
Jiaxin Wu 2016-12-29 15:57:39 +08:00
parent 32ea56f0a6
commit d52f9163de
1 changed files with 7 additions and 3 deletions

View File

@ -1,7 +1,7 @@
/** @file
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>
This program and the accompanying materials
@ -741,13 +741,17 @@ Ip4Config2SetDnsServerWorker (
//
// The dns server address must be unicast.
//
FreePool (Tmp);
if (Tmp != NULL) {
FreePool (Tmp);
}
return EFI_INVALID_PARAMETER;
}
for (Index1 = NewIndex + 1; Index1 < NewDnsCount; Index1++) {
if (EFI_IP4_EQUAL (NewDns + NewIndex, NewDns + Index1)) {
FreePool (Tmp);
if (Tmp != NULL) {
FreePool (Tmp);
}
return EFI_INVALID_PARAMETER;
}
}