]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/DnsDxe/DnsProtocol.c
NetworkPkg: Remove TokenEntry from Token list before freed
[mirror_edk2.git] / NetworkPkg / DnsDxe / DnsProtocol.c
index 11009fdc0dd9ff7f459ee620ed5f737519518686..e9101d664430be253d5b0e8c05c6997d0c6e1a35 100644 (file)
@@ -493,6 +493,8 @@ Dns4HostNameToIp (
   //\r
   Status = DoDnsQuery (Instance, Packet);\r
   if (EFI_ERROR (Status)) {\r
+    Dns4RemoveTokenEntry (&Instance->Dns4TxTokens, TokenEntry);\r
+\r
     if (TokenEntry != NULL) {\r
       FreePool (TokenEntry);\r
     }\r
@@ -675,6 +677,8 @@ Dns4GeneralLookUp (
   //\r
   Status = DoDnsQuery (Instance, Packet);\r
   if (EFI_ERROR (Status)) {\r
+    Dns4RemoveTokenEntry (&Instance->Dns4TxTokens, TokenEntry);\r
+\r
     if (TokenEntry != NULL) {\r
       FreePool (TokenEntry);\r
     }\r
@@ -1303,6 +1307,8 @@ Dns6HostNameToIp (
   //\r
   Status = DoDnsQuery (Instance, Packet);\r
   if (EFI_ERROR (Status)) {\r
+    Dns6RemoveTokenEntry (&Instance->Dns6TxTokens, TokenEntry);\r
+    \r
     if (TokenEntry != NULL) {\r
       FreePool (TokenEntry);\r
     }\r
@@ -1488,6 +1494,8 @@ Dns6GeneralLookUp (
   //\r
   Status = DoDnsQuery (Instance, Packet);\r
   if (EFI_ERROR (Status)) {\r
+    Dns6RemoveTokenEntry (&Instance->Dns6TxTokens, TokenEntry);\r
+\r
     if (TokenEntry != NULL) {\r
       FreePool (TokenEntry);\r
     }\r