- if (Dns4CacheEntry != NULL) {\r
- if (Dns4CacheEntry->HostName != NULL) {\r
- FreePool (Dns4CacheEntry->HostName);\r
+ if (EFI_ERROR (Status)) {\r
+ if (Dns4TokenEntry != NULL) {\r
+ if (Dns4TokenEntry->GeneralLookUp) {\r
+ if (Dns4TokenEntry->Token->RspData.GLookupData != NULL) {\r
+ if (Dns4TokenEntry->Token->RspData.GLookupData->RRList != NULL) {\r
+ while (RRCount != 0) {\r
+ RRCount --;\r
+ if (Dns4TokenEntry->Token->RspData.GLookupData->RRList[RRCount].QName != NULL) {\r
+ FreePool (Dns4TokenEntry->Token->RspData.GLookupData->RRList[RRCount].QName);\r
+ }\r
+\r
+ if (Dns4TokenEntry->Token->RspData.GLookupData->RRList[RRCount].RData != NULL) {\r
+ FreePool (Dns4TokenEntry->Token->RspData.GLookupData->RRList[RRCount].RData);\r
+ }\r
+ }\r
+\r
+ FreePool (Dns4TokenEntry->Token->RspData.GLookupData->RRList);\r
+ }\r
+\r
+ FreePool (Dns4TokenEntry->Token->RspData.GLookupData);\r
+ }\r
+ } else {\r
+ if (QuerySection->Type == DNS_TYPE_A && Dns4TokenEntry->Token->RspData.H2AData != NULL) {\r
+ if (Dns4TokenEntry->Token->RspData.H2AData->IpList != NULL) {\r
+ FreePool (Dns4TokenEntry->Token->RspData.H2AData->IpList);\r
+ }\r
+\r
+ FreePool (Dns4TokenEntry->Token->RspData.H2AData);\r
+ Dns4TokenEntry->Token->RspData.H2AData = NULL;\r
+ }\r
+ }\r