NetworkPkg: Fix invalid pointer for DNS response token on error


Anbazhagan, Baraneedharan
 

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@...

---

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

 


Wu, Jiaxin
 

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

 

 

 

From: Anbazhagan, Baraneedharan <anbazhagan@...>
Sent: Thursday, November 25, 2021 9:28 AM
To: devel@edk2.groups.io
Cc: maciej.rabeda@...; Wu, Jiaxin <jiaxin.wu@...>; Fu, Siyuan <siyuan.fu@...>
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@...

---

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