Thanks Ting, I will update the comments against the function.


> -----Original Message-----
> From: Ye, Ting
> Sent: Thursday, October 18, 2018 11:26 AM
> To: Wu, Jiaxin <[email protected]>; [email protected]
> Cc: Fu, Siyuan <[email protected]>; Wu, Jiaxin <[email protected]>
> Subject: RE: [edk2] [Patch] NetworkPkg/IpSecDxe: Fix issue to parse SA
> Payload.
> 
> Hi Jiaxin,
> 
> I am confused why we need set values to following local variables when
> Ikev2ParseProposalData marks them as 'out' attribute. Please adds more
> comments why '0' is required and updates 'out' to 'in out' if '0' is 
> necessary.
> 
> +        IntegrityAlgorithm = 0;
> +        EncryptAlgorithm   = 0;
> +        EncryptKeylength   = 0;
> +        IsSupportEsn       = FALSE;
> 
> Thanks,
> Ting
> 
> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of
> Jiaxin Wu
> Sent: Tuesday, October 16, 2018 9:34 AM
> To: [email protected]
> Cc: Ye, Ting <[email protected]>; Fu, Siyuan <[email protected]>; Wu,
> Jiaxin <[email protected]>
> Subject: [edk2] [Patch] NetworkPkg/IpSecDxe: Fix issue to parse SA Payload.
> 
> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1251
> 
> IpSecDxe failed to create the Child SA during parsing SA Payload, the issue
> was caused by the below commit:
> 
> SHA-1: 1e0db7b11987d0ec93be7dfe26102a327860fdbd
> * MdeModulePkg/NetworkPkg: Checking for NULL pointer before use.
> 
> In above commit, it changed the value of IsMatch in
> Ikev2ChildSaParseSaPayload() to FALSE. That's correct but it exposed the
> potential bug in to match the correct proposal Data, which will cause the
> issue happen.
> 
> Cc: Fu Siyuan <[email protected]>
> Cc: Ye Ting <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.1
> Signed-off-by: Wu Jiaxin <[email protected]>
> ---
>  NetworkPkg/IpSecDxe/Ikev2/Utility.c | 9 +++++----
>  1 file changed, 5 insertions(+), 4 deletions(-)
> 
> diff --git a/NetworkPkg/IpSecDxe/Ikev2/Utility.c
> b/NetworkPkg/IpSecDxe/Ikev2/Utility.c
> index 0c9c929705..d61bae8c9d 100644
> --- a/NetworkPkg/IpSecDxe/Ikev2/Utility.c
> +++ b/NetworkPkg/IpSecDxe/Ikev2/Utility.c
> @@ -2502,15 +2502,16 @@ Ikev2ChildSaParseSaPayload (
>            IntegrityAlgorithm == PreferIntegrityAlgorithm &&
>            IsSupportEsn == PreferIsSupportEsn
>            ) {
>          IsMatch = TRUE;
>        } else {
> -        PreferEncryptAlgorithm   = 0;
> -        PreferIntegrityAlgorithm = 0;
> -        IsSupportEsn             = TRUE;
> +        IntegrityAlgorithm = 0;
> +        EncryptAlgorithm   = 0;
> +        EncryptKeylength   = 0;
> +        IsSupportEsn       = FALSE;
>        }
> -       ProposalData = (IKEV2_PROPOSAL_DATA*)((UINT8*)(ProposalData + 1)
> +
> +      ProposalData = (IKEV2_PROPOSAL_DATA*)((UINT8*)(ProposalData + 1)
> + +
>                       ProposalData->NumTransforms * sizeof
> (IKEV2_TRANSFORM_DATA));
>      }
> 
>      ProposalData  = (IKEV2_PROPOSAL_DATA *)((IKEV2_SA_DATA
> *)SaPayload->PayloadBuf + 1);
>      if (IsMatch) {
> --
> 2.17.1.windows.2
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to