Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>

 

 

 

From: Anbazhagan, Baraneedharan <anbazhagan@hp.com>
Sent: Thursday, November 25, 2021 9:28 AM
To: devel@edk2.groups.io
Cc: maciej.rabeda@linux.intel.com; Wu, Jiaxin <jiaxin.wu@intel.com>; Fu, Siyuan <siyuan.fu@intel.com>
Subject: RE: NetworkPkg: Fix invalid pointer for DNS response token on error

 

Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3719

 

Token->RspData.H2AData is de-allocated on error but it is not

set to NULL. HTTP module attempts to free again and cause assert.

 

Signed-off-by: Baraneedharan Anbazhagan anbazhagan@hp.com

---

NetworkPkg/DnsDxe/DnsImpl.c | 2 ++

1 file changed, 2 insertions(+)

 

diff --git a/NetworkPkg/DnsDxe/DnsImpl.c b/NetworkPkg/DnsDxe/DnsImpl.c

index 2edcb280ac..78a56f2b56 100644

--- a/NetworkPkg/DnsDxe/DnsImpl.c

+++ b/NetworkPkg/DnsDxe/DnsImpl.c

@@ -1700,6 +1700,7 @@ ON_EXIT:

           }

 

           FreePool (Dns4TokenEntry->Token->RspData.H2AData);

+          Dns4TokenEntry->Token->RspData.H2AData = NULL;

         }

       }

     }

@@ -1731,6 +1732,7 @@ ON_EXIT:

           }

 

           FreePool (Dns6TokenEntry->Token->RspData.H2AData);

+          Dns6TokenEntry->Token->RspData.H2AData = NULL;

         }

       }

     }

--

2.33.0.windows.2