[edk2] [Patch] ShellPkg: Fix wrong return status for Ifconfig.c
The Ifconfig command handler tries to return an EFI_STATUS when the return type should be SHELL_STATUS. Cc: Cohen, Eugene Cc: Carsey, Jaben Cc: Ye Ting Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu --- .../UefiShellNetwork1CommandsLib/Ifconfig.c| 102 ++--- 1 file changed, 69 insertions(+), 33 deletions(-) diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c index e16d46a..fb6f575 100644 --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c @@ -421,11 +421,11 @@ IfConfigGetInterfaceInfo ( NULL, &HandleNum, &HandleBuffer ); if (EFI_ERROR (Status) || (HandleNum == 0)) { -return EFI_ABORTED; +return Status; } // // Enumerate all handles that installed with ip4 service binding protocol. // @@ -585,15 +585,15 @@ ON_ERROR: /** The list process of the ifconfig command. @param[in] IfListThe pointer of IfList(interface list). - @retval EFI_SUCCESSThe ifconfig command list processed successfully. + @retval SHELL_SUCCESS The ifconfig command list processed successfully. @retval others The ifconfig command list process failed. **/ -EFI_STATUS +SHELL_STATUS IfConfigShowInterfaceInfo ( IN LIST_ENTRY*IfList ) { LIST_ENTRY *Entry; @@ -781,35 +781,37 @@ IfConfigShowInterfaceInfo ( } } ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_BREAK), gShellNetwork1HiiHandle); - return EFI_SUCCESS; + return SHELL_SUCCESS; } /** The clean process of the ifconfig command to clear interface info. @param[in] IfListThe pointer of IfList(interface list). - @retval EFI_SUCCESSThe ifconfig command clean processed successfully. + @retval SHELL_SUCCESS The ifconfig command clean processed successfully. @retval others The ifconfig command clean process failed. **/ -EFI_STATUS +SHELL_STATUS IfConfigClearInterfaceInfo ( IN LIST_ENTRY*IfList ) { - EFI_STATUSStatus; + EFI_STATUSStatus; + SHELL_STATUS ShellStatus; LIST_ENTRY*Entry; LIST_ENTRY*Next; IFCONFIG_INTERFACE_CB *IfCb; EFI_IP4_CONFIG2_POLICYPolicy; Policy = Ip4Config2PolicyDhcp; Status = EFI_SUCCESS; + ShellStatus = SHELL_SUCCESS; if (IsListEmpty (IfList)) { ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle); } @@ -823,37 +825,37 @@ IfConfigClearInterfaceInfo ( IfCb->IfCfg, Ip4Config2DataTypePolicy, sizeof (EFI_IP4_CONFIG2_POLICY), &Policy ); - if (EFI_ERROR (Status)) { + ShellStatus = SHELL_ACCESS_DENIED; break; } } - return Status; + return ShellStatus; } /** The set process of the ifconfig command. @param[in] IfListThe pointer of IfList(interface list). @param[in] VarArgThe pointer of ARG_LIST(Args with "-s" option). - @retval EFI_SUCCESSThe ifconfig command set processed successfully. + @retval SHELL_SUCCESS The ifconfig command set processed successfully. @retval others The ifconfig command set process failed. **/ -EFI_STATUS +SHELL_STATUS IfConfigSetInterfaceInfo ( IN LIST_ENTRY*IfList, IN ARG_LIST *VarArg ) { - EFI_STATUS Status; + SHELL_STATUS ShellStatus; IFCONFIG_INTERFACE_CB*IfCb; VAR_CHECK_CODE CheckCode; EFI_EVENTTimeOutEvt; EFI_EVENTMappedEvt; BOOLEAN IsAddressOk; @@ -870,18 +872,19 @@ IfConfigSetInterfaceInfo ( Dns = NULL; if (IsListEmpty (IfList)) { ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle); -return EFI_INVALID_PARAMETER; +return SHELL_INVALID_PARAMETER; } // // Make sure to set only one interface each time. // IfCb = NET_LIST_USER_STRUCT (IfList->ForwardLink, IFCONFIG_INTERFACE_CB, Link); Status = EFI_SUCCESS; + ShellStatus = SHELL_SUCCESS; // // Initialize check list mechanism. // CheckCode = IfConfigRetriveCheckListByName( @@ -899,10 +902,11 @@ IfConfigSetInterfaceInfo ( NULL, NULL, &TimeOutEvt ); if (EFI_ERROR (Status)) { +ShellStatus = SHELL_ACCESS_DENIED; goto ON_EXIT; } Status = gBS->CreateEvent ( EVT_NOTIFY_SIGNAL, @@ -910,10 +914,11 @@ IfConfigSetInterfaceInfo ( IfConfigMan
Re: [edk2] [Patch] ShellPkg: Fix wrong return status for Ifconfig.c
Reviewed-by: Jaben Carsey > -Original Message- > From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of > Jiaxin Wu > Sent: Wednesday, December 02, 2015 12:54 AM > To: edk2-devel@lists.01.org > Cc: Carsey, Jaben ; Ye, Ting ; > Cohen, Eugene > Subject: [edk2] [Patch] ShellPkg: Fix wrong return status for Ifconfig.c > Importance: High > > The Ifconfig command handler tries to return an EFI_STATUS when > the return type should be SHELL_STATUS. > > Cc: Cohen, Eugene > Cc: Carsey, Jaben > Cc: Ye Ting > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Jiaxin Wu > --- > .../UefiShellNetwork1CommandsLib/Ifconfig.c| 102 ++ > --- > 1 file changed, 69 insertions(+), 33 deletions(-) > > diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > index e16d46a..fb6f575 100644 > --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c > @@ -421,11 +421,11 @@ IfConfigGetInterfaceInfo ( >NULL, >&HandleNum, >&HandleBuffer > ); >if (EFI_ERROR (Status) || (HandleNum == 0)) { > -return EFI_ABORTED; > +return Status; >} > >// >// Enumerate all handles that installed with ip4 service binding protocol. >// > @@ -585,15 +585,15 @@ ON_ERROR: > /** >The list process of the ifconfig command. > >@param[in] IfListThe pointer of IfList(interface list). > > - @retval EFI_SUCCESSThe ifconfig command list processed successfully. > + @retval SHELL_SUCCESS The ifconfig command list processed successfully. >@retval others The ifconfig command list process failed. > > **/ > -EFI_STATUS > +SHELL_STATUS > IfConfigShowInterfaceInfo ( >IN LIST_ENTRY*IfList >) > { >LIST_ENTRY *Entry; > @@ -781,35 +781,37 @@ IfConfigShowInterfaceInfo ( > } >} > >ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_BREAK), > gShellNetwork1HiiHandle); > > - return EFI_SUCCESS; > + return SHELL_SUCCESS; > } > > /** >The clean process of the ifconfig command to clear interface info. > >@param[in] IfListThe pointer of IfList(interface list). > > - @retval EFI_SUCCESSThe ifconfig command clean processed successfully. > + @retval SHELL_SUCCESS The ifconfig command clean processed > successfully. >@retval others The ifconfig command clean process failed. > > **/ > -EFI_STATUS > +SHELL_STATUS > IfConfigClearInterfaceInfo ( >IN LIST_ENTRY*IfList >) > { > - EFI_STATUSStatus; > + EFI_STATUSStatus; > + SHELL_STATUS ShellStatus; >LIST_ENTRY*Entry; >LIST_ENTRY*Next; >IFCONFIG_INTERFACE_CB *IfCb; >EFI_IP4_CONFIG2_POLICYPolicy; > >Policy = Ip4Config2PolicyDhcp; >Status = EFI_SUCCESS; > + ShellStatus = SHELL_SUCCESS; > >if (IsListEmpty (IfList)) { > ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN > (STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle); >} > > @@ -823,37 +825,37 @@ IfConfigClearInterfaceInfo ( > IfCb->IfCfg, > Ip4Config2DataTypePolicy, > sizeof (EFI_IP4_CONFIG2_POLICY), > &Policy > ); > - > if (EFI_ERROR (Status)) { > + ShellStatus = SHELL_ACCESS_DENIED; >break; > } >} > > - return Status; > + return ShellStatus; > } > > /** >The set process of the ifconfig command. > >@param[in] IfListThe pointer of IfList(interface list). >@param[in] VarArgThe pointer of ARG_LIST(Args with "-s" option). > > - @retval EFI_SUCCESSThe ifconfig command set processed successfully. > + @retval SHELL_SUCCESS The ifconfig command set processed successfully. >@retval others The ifconfig command set process failed. > > **/ > -EFI_STATUS > +SHELL_STATUS > IfConfigSetInterfaceInfo ( >IN LIST_ENTRY*IfList, >IN ARG_LIST *VarArg >) > { > - >EFI_STATUS Status; > + SHELL_STATUS ShellStatus; >IFCONFIG_INTERFACE_CB*IfCb; >VAR_CHECK_CODE CheckCode; >EFI_EVENTTimeOutEvt; >
Re: [edk2] [Patch] ShellPkg: Fix wrong return status for Ifconfig.c
Reviewed-by: Ye Ting -Original Message- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Jiaxin Wu Sent: Wednesday, December 02, 2015 4:54 PM To: edk2-devel@lists.01.org Cc: Carsey, Jaben; Ye, Ting; Cohen, Eugene Subject: [edk2] [Patch] ShellPkg: Fix wrong return status for Ifconfig.c The Ifconfig command handler tries to return an EFI_STATUS when the return type should be SHELL_STATUS. Cc: Cohen, Eugene Cc: Carsey, Jaben Cc: Ye Ting Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiaxin Wu --- .../UefiShellNetwork1CommandsLib/Ifconfig.c| 102 ++--- 1 file changed, 69 insertions(+), 33 deletions(-) diff --git a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c index e16d46a..fb6f575 100644 --- a/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c +++ b/ShellPkg/Library/UefiShellNetwork1CommandsLib/Ifconfig.c @@ -421,11 +421,11 @@ IfConfigGetInterfaceInfo ( NULL, &HandleNum, &HandleBuffer ); if (EFI_ERROR (Status) || (HandleNum == 0)) { -return EFI_ABORTED; +return Status; } // // Enumerate all handles that installed with ip4 service binding protocol. // @@ -585,15 +585,15 @@ ON_ERROR: /** The list process of the ifconfig command. @param[in] IfListThe pointer of IfList(interface list). - @retval EFI_SUCCESSThe ifconfig command list processed successfully. + @retval SHELL_SUCCESS The ifconfig command list processed successfully. @retval others The ifconfig command list process failed. **/ -EFI_STATUS +SHELL_STATUS IfConfigShowInterfaceInfo ( IN LIST_ENTRY*IfList ) { LIST_ENTRY *Entry; @@ -781,35 +781,37 @@ IfConfigShowInterfaceInfo ( } } ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INFO_BREAK), gShellNetwork1HiiHandle); - return EFI_SUCCESS; + return SHELL_SUCCESS; } /** The clean process of the ifconfig command to clear interface info. @param[in] IfListThe pointer of IfList(interface list). - @retval EFI_SUCCESSThe ifconfig command clean processed successfully. + @retval SHELL_SUCCESS The ifconfig command clean processed successfully. @retval others The ifconfig command clean process failed. **/ -EFI_STATUS +SHELL_STATUS IfConfigClearInterfaceInfo ( IN LIST_ENTRY*IfList ) { - EFI_STATUSStatus; + EFI_STATUSStatus; + SHELL_STATUS ShellStatus; LIST_ENTRY*Entry; LIST_ENTRY*Next; IFCONFIG_INTERFACE_CB *IfCb; EFI_IP4_CONFIG2_POLICYPolicy; Policy = Ip4Config2PolicyDhcp; Status = EFI_SUCCESS; + ShellStatus = SHELL_SUCCESS; if (IsListEmpty (IfList)) { ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle); } @@ -823,37 +825,37 @@ IfConfigClearInterfaceInfo ( IfCb->IfCfg, Ip4Config2DataTypePolicy, sizeof (EFI_IP4_CONFIG2_POLICY), &Policy ); - if (EFI_ERROR (Status)) { + ShellStatus = SHELL_ACCESS_DENIED; break; } } - return Status; + return ShellStatus; } /** The set process of the ifconfig command. @param[in] IfListThe pointer of IfList(interface list). @param[in] VarArgThe pointer of ARG_LIST(Args with "-s" option). - @retval EFI_SUCCESSThe ifconfig command set processed successfully. + @retval SHELL_SUCCESS The ifconfig command set processed successfully. @retval others The ifconfig command set process failed. **/ -EFI_STATUS +SHELL_STATUS IfConfigSetInterfaceInfo ( IN LIST_ENTRY*IfList, IN ARG_LIST *VarArg ) { - EFI_STATUS Status; + SHELL_STATUS ShellStatus; IFCONFIG_INTERFACE_CB*IfCb; VAR_CHECK_CODE CheckCode; EFI_EVENTTimeOutEvt; EFI_EVENTMappedEvt; BOOLEAN IsAddressOk; @@ -870,18 +872,19 @@ IfConfigSetInterfaceInfo ( Dns = NULL; if (IsListEmpty (IfList)) { ShellPrintHiiEx (-1, -1, NULL, STRING_TOKEN (STR_IFCONFIG_INVALID_INTERFACE), gShellNetwork1HiiHandle); -return EFI_INVALID_PARAMETER; +return SHELL_INVALID_PARAMETER; } // // Make sure to set only one interface each time. // IfCb = NET_LIST_USER_STRUCT (IfList->ForwardLink, IFCONFIG_INTERFACE_CB, Link); Status = EFI_SUCCESS; + ShellStatus = SHELL_SUCCESS; // // Initialize check list mechanism. // CheckCode = IfConfigRetriveCheckListByName( @@ -899,10 +902,11 @@ IfConfigSetInterfaceIn