]> git.proxmox.com Git - mirror_edk2.git/commitdiff
NetworkPkg: fix CloseProtocol & UninstallMultipleProtocolInterfaces calls
authorLaszlo Ersek <lersek@redhat.com>
Sat, 7 Sep 2019 12:11:31 +0000 (14:11 +0200)
committerLaszlo Ersek <lersek@redhat.com>
Wed, 9 Oct 2019 07:40:10 +0000 (09:40 +0200)
Both the "ControllerHandle" parameter of CloseProtocol() and the "Handle"
parameter of UninstallMultipleProtocolInterfaces() have type EFI_HANDLE,
not (EFI_HANDLE*).

This patch fixes actual bugs. The issues have been dormant likely because
they are on error paths. (Or, in case of TlsAuthConfigDxe, because the
driver is unloaded likely very infrequently.)

Cc: Jiaxin Wu <jiaxin.wu@intel.com>
Cc: Siyuan Fu <siyuan.fu@intel.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Siyuan Fu <siyuan.fu@intel.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
NetworkPkg/DnsDxe/DnsDriver.c
NetworkPkg/IScsiDxe/IScsiConfig.c
NetworkPkg/Ip4Dxe/Ip4Driver.c
NetworkPkg/Ip6Dxe/Ip6Driver.c
NetworkPkg/Mtftp4Dxe/Mtftp4Driver.c
NetworkPkg/TlsAuthConfigDxe/TlsAuthConfigDxe.c

index 94d072159a4dc09646a946542ba0e8948cab9ff9..ad007da8b7d669ac2497662ae09fec86c39e50b1 100644 (file)
@@ -1145,7 +1145,7 @@ Dns4ServiceBindingCreateChild (
            DnsSb->ConnectUdp->UdpHandle,\r
            &gEfiUdp4ProtocolGuid,\r
            gDns4DriverBinding.DriverBindingHandle,\r
-           ChildHandle\r
+           *ChildHandle\r
            );\r
 \r
      gBS->UninstallMultipleProtocolInterfaces (\r
@@ -1388,7 +1388,7 @@ Dns6ServiceBindingCreateChild (
            DnsSb->ConnectUdp->UdpHandle,\r
            &gEfiUdp6ProtocolGuid,\r
            gDns6DriverBinding.DriverBindingHandle,\r
-           ChildHandle\r
+           *ChildHandle\r
            );\r
 \r
      gBS->UninstallMultipleProtocolInterfaces (\r
index b876da7f5ccd3d24732a4221e29b31c00155bb9b..d773849fd3b0f1af206c8eef9df025a376e805c5 100644 (file)
@@ -3852,7 +3852,7 @@ IScsiConfigFormInit (
                                      );\r
   if (CallbackInfo->RegisteredHandle == NULL) {\r
     gBS->UninstallMultipleProtocolInterfaces (\r
-           &CallbackInfo->DriverHandle,\r
+           CallbackInfo->DriverHandle,\r
            &gEfiDevicePathProtocolGuid,\r
            &mIScsiHiiVendorDevicePath,\r
            &gEfiHiiConfigAccessProtocolGuid,\r
index ebd4dec1dfe4290452b7e4041c626323679a587c..62be8b681a18b9d22a5a4de65564a88c3e4e6e9f 100644 (file)
@@ -891,7 +891,7 @@ Ip4ServiceBindingCreateChild (
                   );\r
   if (EFI_ERROR (Status)) {\r
     gBS->UninstallMultipleProtocolInterfaces (\r
-           ChildHandle,\r
+           *ChildHandle,\r
            &gEfiIp4ProtocolGuid,\r
            &IpInstance->Ip4Proto,\r
            NULL\r
index 7dc9e45af7b668aa4c663d91ad29f6f8472b837b..63d8428dbced0daa9f9dde91f98e4ba6e86a2ee4 100644 (file)
@@ -888,7 +888,7 @@ Ip6ServiceBindingCreateChild (
                   );\r
   if (EFI_ERROR (Status)) {\r
     gBS->UninstallMultipleProtocolInterfaces (\r
-           ChildHandle,\r
+           *ChildHandle,\r
            &gEfiIp6ProtocolGuid,\r
            &IpInstance->Ip6Proto,\r
            NULL\r
index ae9e65544a868308f4ef3a97bec82706b67536dc..06c4e202d3ef69d5bf4fbc45974de27583f99f8b 100644 (file)
@@ -592,7 +592,7 @@ Mtftp4ServiceBindingCreateChild (
            MtftpSb->ConnectUdp->UdpHandle,\r
            &gEfiUdp4ProtocolGuid,\r
            gMtftp4DriverBinding.DriverBindingHandle,\r
-           ChildHandle\r
+           *ChildHandle\r
            );\r
     goto ON_ERROR;\r
   }\r
index 18ee763002b41e23ad1c86f56e29acf444fbc4c4..c0870ab9979c46e2a31c875a8f3a19db1b14c3d8 100644 (file)
@@ -39,7 +39,7 @@ TlsAuthConfigDxeUnload (
   ASSERT (PrivateData->Signature == TLS_AUTH_CONFIG_PRIVATE_DATA_SIGNATURE);\r
 \r
   gBS->UninstallMultipleProtocolInterfaces (\r
-         &ImageHandle,\r
+         ImageHandle,\r
          &gEfiCallerIdGuid,\r
          PrivateData,\r
          NULL\r