X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FNetwork%2FTcp4Dxe%2FTcp4Main.c;h=4d2e80fcadef8bb4510c96e88360b7e69e3c431e;hp=8f5a997957333dbeef92bbe3ffdf1f649c918042;hb=772db4bb33ae66fa20e39f786b5f80d107d450a5;hpb=eca7eaf49be5f23e3c79270621df7097ef585349 diff --git a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c index 8f5a997957..4d2e80fcad 100644 --- a/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c +++ b/MdeModulePkg/Universal/Network/Tcp4Dxe/Tcp4Main.c @@ -144,6 +144,7 @@ Tcp4Configure ( EFI_TCP4_OPTION *Option; SOCKET *Sock; EFI_STATUS Status; + IP4_ADDR Ip; if (NULL == This) { return EFI_INVALID_PARAMETER; @@ -153,26 +154,25 @@ Tcp4Configure ( // Tcp protocol related parameter check will be conducted here // if (NULL != TcpConfigData) { - if ((EFI_IP4 (TcpConfigData->AccessPoint.RemoteAddress) != 0) && - !Ip4IsUnicast (EFI_NTOHL (TcpConfigData->AccessPoint.RemoteAddress), 0)) { + + NetCopyMem (&Ip, &TcpConfigData->AccessPoint.RemoteAddress, sizeof (IP4_ADDR)); + if ((Ip != 0) && !Ip4IsUnicast (NTOHL (Ip), 0)) { + return EFI_INVALID_PARAMETER; + } + + if (TcpConfigData->AccessPoint.ActiveFlag && + (0 == TcpConfigData->AccessPoint.RemotePort || (Ip == 0))) { return EFI_INVALID_PARAMETER; } if (!TcpConfigData->AccessPoint.UseDefaultAddress) { - if (!Ip4IsUnicast (EFI_NTOHL (TcpConfigData->AccessPoint.StationAddress), 0) || - !IP4_IS_VALID_NETMASK (EFI_NTOHL (TcpConfigData->AccessPoint.SubnetMask)) - ) { + + NetCopyMem (&Ip, &TcpConfigData->AccessPoint.StationAddress, sizeof (IP4_ADDR)); + if (!Ip4IsUnicast (NTOHL (Ip), 0) || !IP4_IS_VALID_NETMASK (NTOHL (Ip))) { return EFI_INVALID_PARAMETER; } } - if (TcpConfigData->AccessPoint.ActiveFlag && - (0 == TcpConfigData->AccessPoint.RemotePort || - (EFI_IP4 (TcpConfigData->AccessPoint.RemoteAddress) == 0)) - ) { - return EFI_INVALID_PARAMETER; - } - Option = TcpConfigData->ControlOption; if ((NULL != Option) && (Option->EnableSelectiveAck || Option->EnablePathMtuDiscovery)) {