From c960bdc2dcfad4ececbe208fbe3a25adea6dceea Mon Sep 17 00:00:00 2001 From: Zhang Lubo Date: Wed, 8 Jul 2015 12:17:11 +0000 Subject: NetworkPkg:Replace unsafe string functions. Replace unsafe string functions with new added safe string functions. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Zhang Lubo Reviewed-by: Fu Siyuan Reviewed-by: Qiu Shumin Reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@17887 6f19259b-4bc3-4df7-8a09-765794883524 --- NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c | 42 ++++++++++++++++++++---------------- 1 file changed, 23 insertions(+), 19 deletions(-) (limited to 'NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c') diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c b/NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c index 09196c7ac6..270190d42e 100644 --- a/NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c +++ b/NetworkPkg/UefiPxeBcDxe/PxeBcMtftp.c @@ -1,7 +1,7 @@ /** @file Functions implementation related with Mtftp for UefiPxeBc Driver. - Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License @@ -64,10 +64,11 @@ PxeBcMtftp6CheckPacket ( // Private->Mode.TftpErrorReceived = TRUE; Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode; - AsciiStrnCpy ( + AsciiStrnCpyS ( Private->Mode.TftpError.ErrorString, + PXE_MTFTP_ERROR_STRING_LENGTH, (CHAR8 *) Packet->Error.ErrorMessage, - PXE_MTFTP_ERROR_STRING_LENGTH + PXE_MTFTP_ERROR_STRING_LENGTH - 1 ); Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0'; } @@ -151,13 +152,13 @@ PxeBcMtftp6GetFileSize ( // Build the required options for get info. // ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX]; - PxeBcUintnToAscDec (0, OptBuf); + PxeBcUintnToAscDec (0, OptBuf, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); ReqOpt[0].ValueStr = OptBuf; if (BlockSize != NULL) { ReqOpt[1].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[1].ValueStr = (UINT8 *) (ReqOpt[0].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1); - PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX - (AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1)); OptCnt++; } @@ -178,10 +179,11 @@ PxeBcMtftp6GetFileSize ( // Private->Mode.TftpErrorReceived = TRUE; Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode; - AsciiStrnCpy ( + AsciiStrnCpyS ( Private->Mode.TftpError.ErrorString, + PXE_MTFTP_ERROR_STRING_LENGTH, (CHAR8 *) Packet->Error.ErrorMessage, - PXE_MTFTP_ERROR_STRING_LENGTH + PXE_MTFTP_ERROR_STRING_LENGTH - 1 ); Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0'; } @@ -273,7 +275,7 @@ PxeBcMtftp6ReadFile ( if (BlockSize != NULL) { ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[0].ValueStr = OptBuf; - PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); OptCnt++; } @@ -356,7 +358,7 @@ PxeBcMtftp6WriteFile ( if (BlockSize != NULL) { ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[0].ValueStr = OptBuf; - PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); OptCnt++; } @@ -431,7 +433,7 @@ PxeBcMtftp6ReadDirectory ( if (BlockSize != NULL) { ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[0].ValueStr = OptBuf; - PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); OptCnt++; } @@ -508,10 +510,11 @@ PxeBcMtftp4CheckPacket ( // Private->Mode.TftpErrorReceived = TRUE; Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode; - AsciiStrnCpy ( + AsciiStrnCpyS ( Private->Mode.TftpError.ErrorString, + PXE_MTFTP_ERROR_STRING_LENGTH, (CHAR8 *) Packet->Error.ErrorMessage, - PXE_MTFTP_ERROR_STRING_LENGTH + PXE_MTFTP_ERROR_STRING_LENGTH - 1 ); Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0'; } @@ -595,13 +598,13 @@ PxeBcMtftp4GetFileSize ( // Build the required options for get info. // ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_TSIZE_INDEX]; - PxeBcUintnToAscDec (0, OptBuf); + PxeBcUintnToAscDec (0, OptBuf, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); ReqOpt[0].ValueStr = OptBuf; if (BlockSize != NULL) { ReqOpt[1].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[1].ValueStr = (UINT8 *) (ReqOpt[0].ValueStr + AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1); - PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[1].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX - (AsciiStrLen ((CHAR8 *) ReqOpt[0].ValueStr) + 1)); OptCnt++; } @@ -622,10 +625,11 @@ PxeBcMtftp4GetFileSize ( // Private->Mode.TftpErrorReceived = TRUE; Private->Mode.TftpError.ErrorCode = (UINT8) Packet->Error.ErrorCode; - AsciiStrnCpy ( + AsciiStrnCpyS ( Private->Mode.TftpError.ErrorString, + PXE_MTFTP_ERROR_STRING_LENGTH, (CHAR8 *) Packet->Error.ErrorMessage, - PXE_MTFTP_ERROR_STRING_LENGTH + PXE_MTFTP_ERROR_STRING_LENGTH - 1 ); Private->Mode.TftpError.ErrorString[PXE_MTFTP_ERROR_STRING_LENGTH - 1] = '\0'; } @@ -717,7 +721,7 @@ PxeBcMtftp4ReadFile ( if (BlockSize != NULL) { ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[0].ValueStr = OptBuf; - PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); OptCnt++; } @@ -800,7 +804,7 @@ PxeBcMtftp4WriteFile ( if (BlockSize != NULL) { ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[0].ValueStr = OptBuf; - PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); OptCnt++; } @@ -875,7 +879,7 @@ PxeBcMtftp4ReadDirectory ( if (BlockSize != NULL) { ReqOpt[0].OptionStr = (UINT8 *) mMtftpOptions[PXE_MTFTP_OPTION_BLKSIZE_INDEX]; ReqOpt[0].ValueStr = OptBuf; - PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr); + PxeBcUintnToAscDec (*BlockSize, ReqOpt[0].ValueStr, PXE_MTFTP_OPTBUF_MAXNUM_INDEX); OptCnt++; } -- cgit v1.2.3