/** @file\r
Functions implementation related with Mtftp for UefiPxeBc Driver.\r
\r
- Copyright (c) 2007 - 2010, Intel Corporation. All rights reserved.<BR>\r
+ Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>\r
\r
This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
//\r
Private->Mode.TftpErrorReceived = TRUE;\r
Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;\r
- AsciiStrnCpy (\r
+ AsciiStrnCpyS (\r
Private->Mode.TftpError.ErrorString,\r
+ PXE_MTFTP_ERROR_STRING_LENGTH,\r
(CHAR8 *) Packet->Error.ErrorMessage,\r
- PXE_MTFTP_ERROR_STRING_LENGTH\r
+ PXE_MTFTP_ERROR_STRING_LENGTH - 1\r
);\r
+ Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';\r
}\r
\r
if (Callback != NULL) {\r
// Build the required options for get info.\r
//\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];\r
- PxeBcUintnToAscDec (0, OptBuf);\r
+ PxeBcUintnToAscDec (0, OptBuf, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
ReqOpt[0].ValueStr = OptBuf;\r
\r
if (BlockSize != NULL) {\r
ReqOpt[1].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[1].ValueStr = (UINT8 *) (ReqOpt[0].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1);\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX - (AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1));\r
OptCnt++;\r
}\r
\r
Status = Mtftp6->GetInfo (\r
Mtftp6,\r
- FALSE,\r
+ NULL,\r
Filename,\r
NULL,\r
(UINT8) OptCnt,\r
//\r
Private->Mode.TftpErrorReceived = TRUE;\r
Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;\r
- AsciiStrnCpy (\r
+ AsciiStrnCpyS (\r
Private->Mode.TftpError.ErrorString,\r
+ PXE_MTFTP_ERROR_STRING_LENGTH,\r
(CHAR8 *) Packet->Error.ErrorMessage,\r
- PXE_MTFTP_ERROR_STRING_LENGTH\r
+ PXE_MTFTP_ERROR_STRING_LENGTH - 1\r
);\r
+ Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';\r
}\r
goto ON_ERROR;\r
}\r
if (BlockSize != NULL) {\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[0].ValueStr = OptBuf;\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
OptCnt++;\r
}\r
\r
if (BlockSize != NULL) {\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[0].ValueStr = OptBuf;\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
OptCnt++;\r
}\r
\r
if (BlockSize != NULL) {\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[0].ValueStr = OptBuf;\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
OptCnt++;\r
}\r
\r
//\r
Private->Mode.TftpErrorReceived = TRUE;\r
Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;\r
- AsciiStrnCpy (\r
+ AsciiStrnCpyS (\r
Private->Mode.TftpError.ErrorString,\r
+ PXE_MTFTP_ERROR_STRING_LENGTH,\r
(CHAR8 *) Packet->Error.ErrorMessage,\r
- PXE_MTFTP_ERROR_STRING_LENGTH\r
+ PXE_MTFTP_ERROR_STRING_LENGTH - 1\r
);\r
+ Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';\r
}\r
\r
if (Callback != NULL) {\r
// Build the required options for get info.\r
//\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX];\r
- PxeBcUintnToAscDec (0, OptBuf);\r
+ PxeBcUintnToAscDec (0, OptBuf, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
ReqOpt[0].ValueStr = OptBuf;\r
\r
if (BlockSize != NULL) {\r
ReqOpt[1].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[1].ValueStr = (UINT8 *) (ReqOpt[0].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1);\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX - (AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1));\r
OptCnt++;\r
}\r
\r
Status = Mtftp4->GetInfo (\r
Mtftp4,\r
- FALSE,\r
+ NULL,\r
Filename,\r
NULL,\r
(UINT8) OptCnt,\r
//\r
Private->Mode.TftpErrorReceived = TRUE;\r
Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode;\r
- AsciiStrnCpy (\r
+ AsciiStrnCpyS (\r
Private->Mode.TftpError.ErrorString,\r
+ PXE_MTFTP_ERROR_STRING_LENGTH,\r
(CHAR8 *) Packet->Error.ErrorMessage,\r
- PXE_MTFTP_ERROR_STRING_LENGTH\r
+ PXE_MTFTP_ERROR_STRING_LENGTH - 1\r
);\r
+ Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0';\r
}\r
goto ON_ERROR;\r
}\r
if (BlockSize != NULL) {\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[0].ValueStr = OptBuf;\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
OptCnt++;\r
}\r
\r
if (BlockSize != NULL) {\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[0].ValueStr = OptBuf;\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
OptCnt++;\r
}\r
\r
if (BlockSize != NULL) {\r
ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX];\r
ReqOpt[0].ValueStr = OptBuf;\r
- PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr);\r
+ PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX);\r
OptCnt++;\r
}\r
\r