]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Udp6Dxe/Udp6Main.c
NetworkPkg: Clean up source files
[mirror_edk2.git] / NetworkPkg / Udp6Dxe / Udp6Main.c
index f3e99255f953cd6aeee284ed6994739df529143d..71684bc285aa08453836d1148eec26fdd09d3ff1 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Contains all EFI_UDP6_PROTOCOL interfaces.\r
 \r
-  Copyright (c) 2009 - 2014, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2009 - 2018, Intel Corporation. All rights reserved.<BR>\r
 \r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
@@ -284,7 +284,7 @@ Udp6Configure (
 \r
     ASSERT (IsListEmpty (&Instance->DeliveredDgramQue));\r
   }\r
\r
+\r
 ON_EXIT:\r
 \r
   gBS->RestoreTPL (OldTpl);\r
@@ -351,6 +351,9 @@ Udp6Groups (
 \r
   Instance = UDP6_INSTANCE_DATA_FROM_THIS (This);\r
   if (!Instance->Configured) {\r
+    if (McastIp != NULL) {\r
+      FreePool (McastIp);\r
+    }\r
     return EFI_NOT_STARTED;\r
   }\r
 \r
@@ -378,7 +381,10 @@ Udp6Groups (
     Status = NetMapInsertTail (&Instance->McastIps, (VOID *) McastIp, NULL);\r
   } else {\r
 \r
-    NetMapIterate (&Instance->McastIps, Udp6LeaveGroup, MulticastAddress);\r
+    Status = NetMapIterate (&Instance->McastIps, Udp6LeaveGroup, MulticastAddress);\r
+    if ((MulticastAddress != NULL) && (Status == EFI_ABORTED)) {\r
+      Status = EFI_SUCCESS;\r
+    }\r
   }\r
 \r
 ON_EXIT:\r
@@ -525,6 +531,11 @@ Udp6Transmit (
 \r
   Udp6Header = (EFI_UDP_HEADER *) NetbufAllocSpace (Packet, UDP6_HEADER_SIZE, TRUE);\r
   ASSERT (Udp6Header != NULL);\r
+  if (Udp6Header == NULL) {\r
+    Status = EFI_OUT_OF_RESOURCES;\r
+    goto ON_EXIT;\r
+  }\r
+\r
   ConfigData = &Instance->ConfigData;\r
 \r
   //\r
@@ -577,7 +588,7 @@ Udp6Transmit (
         //\r
         // If the calculated checksum is 0, fill the Checksum field with all ones.\r
         //\r
-        Udp6Header->Checksum = 0XFFFF;\r
+        Udp6Header->Checksum = 0xffff;\r
       }\r
     } else {\r
       //\r