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
//\r
Status = IpIoOpen (Udp4Service->IpIo, &OpenData);\r
if (EFI_ERROR (Status)) {\r
- goto RELEASE_IPIO;\r
+ goto ON_ERROR;\r
}\r
\r
//\r
&Udp4Service->TimeoutEvent\r
);\r
if (EFI_ERROR (Status)) {\r
- goto RELEASE_IPIO;\r
+ goto ON_ERROR;\r
}\r
\r
//\r
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