X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdeModulePkg%2FUniversal%2FNetwork%2FMtftp4Dxe%2FMtftp4Support.c;h=7cdbddc32d1b495be429b86aa9deb92590269a5b;hp=af61c0bf6978266a92b9175454f68bf093dffa50;hb=b7d3c63160fae758c1d0467caeecad169c733338;hpb=772db4bb33ae66fa20e39f786b5f80d107d450a5 diff --git a/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Support.c b/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Support.c index af61c0bf69..7cdbddc32d 100644 --- a/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Support.c +++ b/MdeModulePkg/Universal/Network/Mtftp4Dxe/Mtftp4Support.c @@ -229,7 +229,7 @@ Mtftp4RemoveBlockNum ( if (Range->End == Num) { Range->End--; } else { - NewRange = Mtftp4AllocateRange (Num + 1, (UINT16) Range->End); + NewRange = Mtftp4AllocateRange ((UINT16) (Num + 1), (UINT16) Range->End); if (NewRange == NULL) { return EFI_OUT_OF_RESOURCES; @@ -270,23 +270,28 @@ Mtftp4SendRequest ( UINT8 *Cur; UINT32 Len; UINTN Index; + UINT32 Len1; + UINT32 Len2; Token = Instance->Token; Options = Token->OptionList; Mode = Instance->Token->ModeStr; if (Mode == NULL) { - Mode = "octet"; + Mode = (UINT8 *) "octet"; } // // Compute the packet length // - Len = (UINT32) (AsciiStrLen (Token->Filename) + AsciiStrLen (Mode) + 4); + Len1 = (UINT32) AsciiStrLen ((CHAR8 *) Token->Filename); + Len2 = (UINT32) AsciiStrLen ((CHAR8 *) Mode); + Len = (Len1 + Len2 + 4); for (Index = 0; Index < Token->OptionCount; Index++) { - Len += (UINT32) (AsciiStrLen (Options[Index].OptionStr) + - AsciiStrLen (Options[Index].ValueStr) + 2); + Len1 = (UINT32) AsciiStrLen ((CHAR8 *) Options[Index].OptionStr); + Len2 = (UINT32) AsciiStrLen ((CHAR8 *) Options[Index].ValueStr); + Len += Len1 + Len2 + 2; } // @@ -299,12 +304,17 @@ Mtftp4SendRequest ( Packet = (EFI_MTFTP4_PACKET *) NetbufAllocSpace (Nbuf, Len, FALSE); Packet->OpCode = HTONS (Instance->Operation); Cur = Packet->Rrq.Filename; - Cur = AsciiStrCpy (Cur, Token->Filename); - Cur = AsciiStrCpy (Cur, Mode); + Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Token->Filename); + Cur += AsciiStrLen ((CHAR8 *) Token->Filename) + 1; + Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Mode); + Cur += AsciiStrLen ((CHAR8 *) Mode) + 1; for (Index = 0; Index < Token->OptionCount; ++Index) { - Cur = AsciiStrCpy (Cur, Options[Index].OptionStr); - Cur = AsciiStrCpy (Cur, Options[Index].ValueStr); + Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Options[Index].OptionStr); + Cur += AsciiStrLen ((CHAR8 *) Options[Index].OptionStr) + 1; + + Cur = (UINT8 *) AsciiStrCpy ((CHAR8 *) Cur, (CHAR8 *) Options[Index].ValueStr); + Cur += AsciiStrLen ((CHAR8 *) (CHAR8 *) Options[Index].ValueStr) + 1; } return Mtftp4SendPacket (Instance, Nbuf); @@ -333,7 +343,7 @@ Mtftp4SendError ( EFI_MTFTP4_PACKET *TftpError; UINT32 Len; - Len = (UINT32) (AsciiStrLen (ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER)); + Len = (UINT32) (AsciiStrLen ((CHAR8 *) ErrInfo) + sizeof (EFI_MTFTP4_ERROR_HEADER)); Packet = NetbufAlloc (Len); if (Packet == NULL) { @@ -344,7 +354,7 @@ Mtftp4SendError ( TftpError->OpCode = HTONS (EFI_MTFTP4_OPCODE_ERROR); TftpError->Error.ErrorCode = HTONS (ErrCode); - AsciiStrCpy (TftpError->Error.ErrorMessage, ErrInfo); + AsciiStrCpy ((CHAR8 *) TftpError->Error.ErrorMessage, (CHAR8 *) ErrInfo); return Mtftp4SendPacket (Instance, Packet); } @@ -419,6 +429,7 @@ Mtftp4SendPacket ( UDP_POINTS UdpPoint; EFI_STATUS Status; UINT16 OpCode; + UINT16 Value; // // Save the packet for retransmission @@ -440,7 +451,8 @@ Mtftp4SendPacket ( // Send the requests to the listening port, other packets // to the connected port // - OpCode = NTOHS (*((UINT16 *) NetbufGetByte (Packet, 0, NULL))); + Value = *((UINT16 *) NetbufGetByte (Packet, 0, NULL)); + OpCode = NTOHS (Value); if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) || (OpCode == EFI_MTFTP4_OPCODE_WRQ)) { @@ -455,7 +467,7 @@ Mtftp4SendPacket ( Instance->UnicastPort, Packet, &UdpPoint, - Instance->Gateway, + 0, Mtftp4OnPacketSent, Instance ); @@ -485,6 +497,7 @@ Mtftp4Retransmit ( UDP_POINTS UdpPoint; EFI_STATUS Status; UINT16 OpCode; + UINT16 Value; ASSERT (Instance->LastPacket != NULL); @@ -495,7 +508,8 @@ Mtftp4Retransmit ( // // Set the requests to the listening port, other packets to the connected port // - OpCode = NTOHS (*(UINT16 *) NetbufGetByte (Instance->LastPacket, 0, NULL)); + Value = *(UINT16 *) NetbufGetByte (Instance->LastPacket, 0, NULL); + OpCode = NTOHS (Value); if ((OpCode == EFI_MTFTP4_OPCODE_RRQ) || (OpCode == EFI_MTFTP4_OPCODE_DIR) || (OpCode == EFI_MTFTP4_OPCODE_WRQ)) { @@ -510,7 +524,7 @@ Mtftp4Retransmit ( Instance->UnicastPort, Instance->LastPacket, &UdpPoint, - Instance->Gateway, + 0, Mtftp4OnPacketSent, Instance ); @@ -569,7 +583,7 @@ Mtftp4OnTimerTick ( Mtftp4SendError ( Instance, EFI_MTFTP4_ERRORCODE_REQUEST_DENIED, - "User aborted the transfer in time out" + (UINT8 *) "User aborted the transfer in time out" ); Mtftp4CleanOperation (Instance, EFI_ABORTED);