mirror of
https://github.com/acidanthera/audk.git
synced 2025-07-26 23:24:03 +02:00
NetworkPkg: Code logic optimization for DnsDxe and HttpDxe driver
Revise some errors which may lead NULL pointer be dereferenced: * DnsDhcp.c: Paralist may be used without any initialized * DnsHeader and RcvString may be null but be dereferenced * HttpDriver.c: revise an if judgment * HttpImpl.c: add a judgment to avoid null dereferenced Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: fanwang2 <fan.wang@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com> Reviewed-by: Jiaxin Wu <jiaxin.wu@intel.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17923 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
parent
6b6fe3e9aa
commit
3fd7bd08f4
@ -301,6 +301,8 @@ GetDns4ServerFromDhcp4 (
|
|||||||
Data = NULL;
|
Data = NULL;
|
||||||
InterfaceInfo = NULL;
|
InterfaceInfo = NULL;
|
||||||
|
|
||||||
|
ZeroMem ((UINT8 *) ParaList, sizeof (ParaList));
|
||||||
|
|
||||||
ZeroMem (&MnpConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA));
|
ZeroMem (&MnpConfigData, sizeof (EFI_MANAGED_NETWORK_CONFIG_DATA));
|
||||||
|
|
||||||
ZeroMem (&DnsServerInfor, sizeof (DNS4_SERVER_INFOR));
|
ZeroMem (&DnsServerInfor, sizeof (DNS4_SERVER_INFOR));
|
||||||
|
@ -1049,6 +1049,7 @@ IsValidDnsResponse (
|
|||||||
continue;
|
continue;
|
||||||
} else {
|
} else {
|
||||||
TxString = NetbufGetByte (Packet, 0, NULL);
|
TxString = NetbufGetByte (Packet, 0, NULL);
|
||||||
|
ASSERT (TxString != NULL);
|
||||||
DnsHeader = (DNS_HEADER *) TxString;
|
DnsHeader = (DNS_HEADER *) TxString;
|
||||||
QueryName = (CHAR8 *) (TxString + sizeof (*DnsHeader));
|
QueryName = (CHAR8 *) (TxString + sizeof (*DnsHeader));
|
||||||
QuerySection = (DNS_QUERY_SECTION *) (QueryName + AsciiStrLen (QueryName) + 1);
|
QuerySection = (DNS_QUERY_SECTION *) (QueryName + AsciiStrLen (QueryName) + 1);
|
||||||
@ -1426,6 +1427,7 @@ DnsOnPacketReceived (
|
|||||||
ASSERT (Packet != NULL);
|
ASSERT (Packet != NULL);
|
||||||
|
|
||||||
RcvString = NetbufGetByte (Packet, 0, NULL);
|
RcvString = NetbufGetByte (Packet, 0, NULL);
|
||||||
|
ASSERT (RcvString != NULL);
|
||||||
|
|
||||||
//
|
//
|
||||||
// Parse Dns Response
|
// Parse Dns Response
|
||||||
|
@ -79,7 +79,7 @@ HttpCleanService (
|
|||||||
IN HTTP_SERVICE *HttpService
|
IN HTTP_SERVICE *HttpService
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
if (HttpService != NULL) {
|
if (HttpService == NULL) {
|
||||||
return ;
|
return ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -766,6 +766,10 @@ HttpResponseWorker (
|
|||||||
HTTP_TOKEN_WRAP *ValueInItem;
|
HTTP_TOKEN_WRAP *ValueInItem;
|
||||||
UINTN HdrLen;
|
UINTN HdrLen;
|
||||||
|
|
||||||
|
if (Wrap == NULL || Wrap->HttpInstance == NULL) {
|
||||||
|
return EFI_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
HttpInstance = Wrap->HttpInstance;
|
HttpInstance = Wrap->HttpInstance;
|
||||||
Token = Wrap->HttpToken;
|
Token = Wrap->HttpToken;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user