mirror of https://github.com/acidanthera/audk.git
MdeModulePkg/IpIoLib: return error instead of ASSERT if input parameter is incorrect.
This patch updates the DxeIpIoLib to return EFI_INVALID_PARAMETER instead of ASSERT if the input pointers are not correct. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Fu Siyuan <siyuan.fu@intel.com> Reviewed-by: Ye Ting <ting.ye@intel.com>
This commit is contained in:
parent
72bdc5f093
commit
8569a87ef0
|
@ -2,7 +2,7 @@
|
||||||
This library is only intended to be used by UEFI network stack modules.
|
This library is only intended to be used by UEFI network stack modules.
|
||||||
It provides the combined IpIo layer on the EFI IP4 Protocol and EFI IP6 protocol.
|
It provides the combined IpIo layer on the EFI IP4 Protocol and EFI IP6 protocol.
|
||||||
|
|
||||||
Copyright (c) 2005 - 2016, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials are licensed and made available under
|
This program and the accompanying materials are licensed and made available under
|
||||||
the terms and conditions of the BSD License that accompanies this distribution.
|
the terms and conditions of the BSD License that accompanies this distribution.
|
||||||
The full text of the license may be found at
|
The full text of the license may be found at
|
||||||
|
@ -399,23 +399,25 @@ IpIoOpen (
|
||||||
Send out an IP packet.
|
Send out an IP packet.
|
||||||
|
|
||||||
This function is called after IpIoOpen(). The data to be sent are wrapped in
|
This function is called after IpIoOpen(). The data to be sent are wrapped in
|
||||||
Pkt. The IP instance wrapped in IpIo is used for sending by default, but can be
|
Pkt. The IP instance wrapped in IpIo is used for sending by default but can be
|
||||||
overriden by Sender. Other sending configurations, such as source address and gateway
|
overriden by Sender. Other sending configs, like source address and gateway
|
||||||
address, are specified in OverrideData.
|
address etc., are specified in OverrideData.
|
||||||
|
|
||||||
@param[in, out] IpIo The pointer to an IP_IO instance used for sending IP
|
@param[in, out] IpIo Pointer to an IP_IO instance used for sending IP
|
||||||
packet.
|
packet.
|
||||||
@param[in, out] Pkt The pointer to the IP packet to be sent.
|
@param[in, out] Pkt Pointer to the IP packet to be sent.
|
||||||
@param[in] Sender Optional. The IP protocol instance used for sending.
|
@param[in] Sender The IP protocol instance used for sending.
|
||||||
@param[in] Context The optional context data.
|
@param[in] Context Optional context data.
|
||||||
@param[in] NotifyData The optional notify data.
|
@param[in] NotifyData Optional notify data.
|
||||||
@param[in] Dest The destination IP address to send this packet to.
|
@param[in] Dest The destination IP address to send this packet to.
|
||||||
|
This parameter is optional when using IPv6.
|
||||||
@param[in] OverrideData The data to override some configuration of the IP
|
@param[in] OverrideData The data to override some configuration of the IP
|
||||||
instance used for sending.
|
instance used for sending.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The operation completed successfully.
|
@retval EFI_SUCCESS The operation is completed successfully.
|
||||||
|
@retval EFI_INVALID_PARAMETER The input parameter is not correct.
|
||||||
@retval EFI_NOT_STARTED The IpIo is not configured.
|
@retval EFI_NOT_STARTED The IpIo is not configured.
|
||||||
@retval EFI_OUT_OF_RESOURCES Failed due to resource limitations.
|
@retval EFI_OUT_OF_RESOURCES Failed due to resource limit.
|
||||||
|
|
||||||
**/
|
**/
|
||||||
EFI_STATUS
|
EFI_STATUS
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
IpIo Library.
|
IpIo Library.
|
||||||
|
|
||||||
(C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
|
(C) Copyright 2014 Hewlett-Packard Development Company, L.P.<BR>
|
||||||
Copyright (c) 2005 - 2016, Intel Corporation. All rights reserved.<BR>
|
Copyright (c) 2005 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -1524,10 +1524,12 @@ IpIoDestroy (
|
||||||
@param[in] Context Optional context data.
|
@param[in] Context Optional context data.
|
||||||
@param[in] NotifyData Optional notify data.
|
@param[in] NotifyData Optional notify data.
|
||||||
@param[in] Dest The destination IP address to send this packet to.
|
@param[in] Dest The destination IP address to send this packet to.
|
||||||
|
This parameter is optional when using IPv6.
|
||||||
@param[in] OverrideData The data to override some configuration of the IP
|
@param[in] OverrideData The data to override some configuration of the IP
|
||||||
instance used for sending.
|
instance used for sending.
|
||||||
|
|
||||||
@retval EFI_SUCCESS The operation is completed successfully.
|
@retval EFI_SUCCESS The operation is completed successfully.
|
||||||
|
@retval EFI_INVALID_PARAMETER The input parameter is not correct.
|
||||||
@retval EFI_NOT_STARTED The IpIo is not configured.
|
@retval EFI_NOT_STARTED The IpIo is not configured.
|
||||||
@retval EFI_OUT_OF_RESOURCES Failed due to resource limit.
|
@retval EFI_OUT_OF_RESOURCES Failed due to resource limit.
|
||||||
|
|
||||||
|
@ -1548,7 +1550,13 @@ IpIoSend (
|
||||||
IP_IO_IP_PROTOCOL Ip;
|
IP_IO_IP_PROTOCOL Ip;
|
||||||
IP_IO_SEND_ENTRY *SndEntry;
|
IP_IO_SEND_ENTRY *SndEntry;
|
||||||
|
|
||||||
ASSERT ((IpIo->IpVersion != IP_VERSION_4) || (Dest != NULL));
|
if ((IpIo == NULL) || (Pkt == NULL)) {
|
||||||
|
return EFI_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((IpIo->IpVersion == IP_VERSION_4) && (Dest == NULL)) {
|
||||||
|
return EFI_INVALID_PARAMETER;
|
||||||
|
}
|
||||||
|
|
||||||
if (!IpIo->IsConfigured) {
|
if (!IpIo->IsConfigured) {
|
||||||
return EFI_NOT_STARTED;
|
return EFI_NOT_STARTED;
|
||||||
|
|
Loading…
Reference in New Issue