From: Jiaxin Wu Date: Thu, 2 Jun 2016 08:23:16 +0000 (+0800) Subject: NetworkPkg: Remove TokenEntry from Token list before freed X-Git-Tag: edk2-stable201903~6868 X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=commitdiff_plain;h=520a0746dc0e7212e22894dfffa7cec5c035f137 NetworkPkg: Remove TokenEntry from Token list before freed TokenEntry should be removed from Token list before freed. Otherwise, invalid TokenEntry will be existed in Token list. Cc: Ye Ting Cc: Zhang Lubo Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu Reviewed-by: Zhang Lubo Reviewed-by: Ye Ting --- diff --git a/NetworkPkg/DnsDxe/DnsProtocol.c b/NetworkPkg/DnsDxe/DnsProtocol.c index 11009fdc0d..e9101d6644 100644 --- a/NetworkPkg/DnsDxe/DnsProtocol.c +++ b/NetworkPkg/DnsDxe/DnsProtocol.c @@ -493,6 +493,8 @@ Dns4HostNameToIp ( // Status = DoDnsQuery (Instance, Packet); if (EFI_ERROR (Status)) { + Dns4RemoveTokenEntry (&Instance->Dns4TxTokens, TokenEntry); + if (TokenEntry != NULL) { FreePool (TokenEntry); } @@ -675,6 +677,8 @@ Dns4GeneralLookUp ( // Status = DoDnsQuery (Instance, Packet); if (EFI_ERROR (Status)) { + Dns4RemoveTokenEntry (&Instance->Dns4TxTokens, TokenEntry); + if (TokenEntry != NULL) { FreePool (TokenEntry); } @@ -1303,6 +1307,8 @@ Dns6HostNameToIp ( // Status = DoDnsQuery (Instance, Packet); if (EFI_ERROR (Status)) { + Dns6RemoveTokenEntry (&Instance->Dns6TxTokens, TokenEntry); + if (TokenEntry != NULL) { FreePool (TokenEntry); } @@ -1488,6 +1494,8 @@ Dns6GeneralLookUp ( // Status = DoDnsQuery (Instance, Packet); if (EFI_ERROR (Status)) { + Dns6RemoveTokenEntry (&Instance->Dns6TxTokens, TokenEntry); + if (TokenEntry != NULL) { FreePool (TokenEntry); }