From d52f9163debb523e06d49ed8a4627a0317bab92c Mon Sep 17 00:00:00 2001 From: Jiaxin Wu Date: Thu, 29 Dec 2016 15:57:39 +0800 Subject: 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 Cc: Fu Siyuan Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Wu Jiaxin Reviewed-by: Fu Siyuan Reviewed-by: Ye Ting --- MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c index 88ead9d269..131b03f771 100644 --- a/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c +++ b/MdeModulePkg/Universal/Network/Ip4Dxe/Ip4Config2Impl.c @@ -1,7 +1,7 @@ /** @file The implementation of EFI IPv4 Configuration II Protocol. - Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.
+ Copyright (c) 2015 - 2017, Intel Corporation. All rights reserved.
(C) Copyright 2015-2016 Hewlett Packard Enterprise Development LP
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; } } -- cgit v1.2.3