summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NetworkPkg/DnsDxe/DnsProtocol.c8
1 files changed, 8 insertions, 0 deletions
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);
}