]> git.proxmox.com Git - mirror_edk2.git/blobdiff - NetworkPkg/Udp6Dxe/Udp6Main.c
NetworkPkg: Replace BSD License with BSD+Patent License
[mirror_edk2.git] / NetworkPkg / Udp6Dxe / Udp6Main.c
index 0cad5962765a09a84a738f6b76a784390709ef64..0829b7b2a6979157e403511d2cc768ca0d027342 100644 (file)
@@ -1,15 +1,9 @@
 /** @file\r
   Contains all EFI_UDP6_PROTOCOL interfaces.\r
 \r
-  Copyright (c) 2009 - 2010, 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
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php.\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
@@ -275,7 +269,7 @@ Udp6Configure (
     //\r
     // Cancel all the user tokens.\r
     //\r
-    Status = Instance->Udp6Proto.Cancel (&Instance->Udp6Proto, NULL);\r
+    Instance->Udp6Proto.Cancel (&Instance->Udp6Proto, NULL);\r
 \r
     //\r
     // Remove the buffered RxData for this instance.\r
@@ -285,8 +279,6 @@ Udp6Configure (
     ASSERT (IsListEmpty (&Instance->DeliveredDgramQue));\r
   }\r
 \r
-  Status = Udp6SetVariableData (Instance->Udp6Service);\r
-\r
 ON_EXIT:\r
 \r
   gBS->RestoreTPL (OldTpl);\r
@@ -353,6 +345,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
@@ -380,7 +375,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
@@ -527,6 +525,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
@@ -579,7 +582,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