]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Network/Udp4Dxe/Udp4Impl.c
Sync the latest version from R8.
[mirror_edk2.git] / MdeModulePkg / Universal / Network / Udp4Dxe / Udp4Impl.c
index 9cbd29511fc5ee01fbbd519c2675680d4dc1a14f..39924cfa7acf9f2bc2a70a0cc2ca877adad52d00 100644 (file)
@@ -153,6 +153,8 @@ Udp4CreateService (
   EFI_STATUS       Status;\r
   IP_IO_OPEN_DATA  OpenData;\r
 \r
+  NetZeroMem (Udp4Service, sizeof (UDP4_SERVICE_DATA));\r
+\r
   Udp4Service->Signature        = UDP4_SERVICE_DATA_SIGNATURE;\r
   Udp4Service->ServiceBinding   = mUdp4ServiceBinding;\r
   Udp4Service->ImageHandle      = ImageHandle;\r
@@ -184,7 +186,7 @@ Udp4CreateService (
   //\r
   Status = IpIoOpen (Udp4Service->IpIo, &OpenData);\r
   if (EFI_ERROR (Status)) {\r
-    goto RELEASE_IPIO;\r
+    goto ON_ERROR;\r
   }\r
 \r
   //\r
@@ -198,7 +200,7 @@ Udp4CreateService (
                   &Udp4Service->TimeoutEvent\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    goto RELEASE_IPIO;\r
+    goto ON_ERROR;\r
   }\r
 \r
   //\r
@@ -210,18 +212,16 @@ Udp4CreateService (
                   UDP4_TIMEOUT_INTERVAL\r
                   );\r
   if (EFI_ERROR (Status)) {\r
-    goto RELEASE_ALL;\r
+    goto ON_ERROR;\r
   }\r
 \r
-  Udp4Service->MacString = NULL;\r
-\r
   return EFI_SUCCESS;\r
 \r
-RELEASE_ALL:\r
-\r
-  gBS->CloseEvent (Udp4Service->TimeoutEvent);\r
+ON_ERROR:\r
 \r
-RELEASE_IPIO:\r
+  if (Udp4Service->TimeoutEvent != NULL) {\r
+    gBS->CloseEvent (Udp4Service->TimeoutEvent);\r
+  }\r
 \r
   IpIoDestroy (Udp4Service->IpIo);\r
 \r