/** @file\r
\r
-Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>\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
+Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved.<BR>\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
/**\r
Process the ICMP redirect. Find the instance then update\r
its route cache.\r
- \r
+\r
All kinds of redirect is treated as host redirect as\r
specified by RFC1122 3.3.1.2:\r
"Since the subnet mask appropriate to the destination\r
message SHOULD be treated identically to a Host Redirect\r
message;"\r
\r
- @param[in] IpSb The IP4 service binding instance that received \r
+ @param[in] IpSb The IP4 service binding instance that received\r
the packet.\r
@param[in] Head The IP head of the received ICMPpacket.\r
@param[in] Packet The content of the ICMP redirect packet with IP\r
@retval EFI_SUCCESS The ICMP error is processed successfully.\r
@retval EFI_INVALID_PARAMETER The packet is invalid\r
@retval Others Failed to process the packet.\r
- \r
+\r
**/\r
EFI_STATUS\r
Ip4ProcessIcmpError (\r
Ip4SysPacketSent,\r
NULL\r
);\r
+ if (EFI_ERROR (Status)) {\r
+ NetbufFree (Data);\r
+ }\r
\r
ON_EXIT:\r
NetbufFree (Packet);\r