1
0
mirror of https://github.com/SoftEtherVPN/SoftEtherVPN.git synced 2024-11-23 01:49:53 +03:00

Fix set initialization, set.OnlyCapsuleModeIsInvalid could be garbage

This commit is contained in:
Victor Salgado 2015-09-18 14:36:22 -03:00
parent 3c8abd60ed
commit 74c641c13e

View File

@ -4709,11 +4709,11 @@ bool GetBestTransformSettingForIPsecSa(IKE_SERVER *ike, IKE_PACKET *pr, IPSEC_SA
if (transform_payload != NULL) if (transform_payload != NULL)
{ {
IKE_PACKET_TRANSFORM_PAYLOAD *transform = &transform_payload->Payload.Transform; IKE_PACKET_TRANSFORM_PAYLOAD *transform = &transform_payload->Payload.Transform;
IPSEC_SA_TRANSFORM_SETTING set; IPSEC_SA_TRANSFORM_SETTING *set = NULL;
if (TransformPayloadToTransformSettingForIPsecSa(ike, transform, &set, server_ip)) if (TransformPayloadToTransformSettingForIPsecSa(ike, transform, set, server_ip))
{ {
Copy(setting, &set, sizeof(IPSEC_SA_TRANSFORM_SETTING)); Copy(setting, set, sizeof(IPSEC_SA_TRANSFORM_SETTING));
setting->SpiServerToClient = READ_UINT(proposal->Spi->Buf); setting->SpiServerToClient = READ_UINT(proposal->Spi->Buf);
@ -4721,11 +4721,11 @@ bool GetBestTransformSettingForIPsecSa(IKE_SERVER *ike, IKE_PACKET *pr, IPSEC_SA
} }
else else
{ {
if (set.OnlyCapsuleModeIsInvalid) if (set != NULL && set->OnlyCapsuleModeIsInvalid)
{ {
if (ocmii_flag == false) if (ocmii_flag == false)
{ {
Copy(setting, &set, sizeof(IPSEC_SA_TRANSFORM_SETTING)); Copy(setting, set, sizeof(IPSEC_SA_TRANSFORM_SETTING));
ocmii_flag = true; ocmii_flag = true;
} }
} }