From ce22514e4800dca7854a4778a66e8f08d2b18345 Mon Sep 17 00:00:00 2001 From: Zhang Lubo Date: Thu, 28 Jan 2016 02:32:43 +0000 Subject: NetworkPkg:Fix Network memory leak when calling GetModeData interface Multiple network protocols have a GetModeData() interface, which may allocate memory resource in the return mode data structure. It's callers responsibility to free these buffers. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo Reviewed-by: Fu Siyuan Reviewed-by: Wu Jiaxin git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19758 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/Dhcp6Dxe/ComponentName.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'NetworkPkg/Dhcp6Dxe') diff --git a/NetworkPkg/Dhcp6Dxe/ComponentName.c b/NetworkPkg/Dhcp6Dxe/ComponentName.c index 927a7fe7ec..ba612156a0 100644 --- a/NetworkPkg/Dhcp6Dxe/ComponentName.c +++ b/NetworkPkg/Dhcp6Dxe/ComponentName.c @@ -1,7 +1,7 @@ /** @file UEFI Component Name(2) protocol implementation for Dhcp6 driver. - Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2009 - 2016, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -286,7 +286,14 @@ UpdateName ( } HandleName = mDhcp6ControllerName[Dhcp6ModeData.Ia->State]; } - + + if (Dhcp6ModeData.Ia != NULL) { + FreePool (Dhcp6ModeData.Ia); + } + if (Dhcp6ModeData.ClientId != NULL) { + FreePool (Dhcp6ModeData.ClientId); + } + Status = AddUnicodeString2 ( "eng", gDhcp6ComponentName.SupportedLanguages, -- cgit v1.2.3