From 323d3d111843cb4fbdf4f9918f72d305e63bc091 Mon Sep 17 00:00:00 2001 From: Qiu Shumin Date: Wed, 10 Sep 2014 01:03:43 +0000 Subject: [PATCH] ShellPkg: Replace the usage of StrnCpy with CopyMem to avoid potential buffer overflow and refine the code style. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Qiu Shumin Signed-off-by: Yao Jiewen Reviewed-by: Jaben Carsey git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16083 6f19259b-4bc3-4df7-8a09-765794883524 --- ShellPkg/Application/Shell/FileHandleWrappers.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/ShellPkg/Application/Shell/FileHandleWrappers.c b/ShellPkg/Application/Shell/FileHandleWrappers.c index be786bb2b5..d3fc5dc578 100644 --- a/ShellPkg/Application/Shell/FileHandleWrappers.c +++ b/ShellPkg/Application/Shell/FileHandleWrappers.c @@ -1140,6 +1140,7 @@ CreateFileInterfaceEnv( ) { EFI_FILE_PROTOCOL_ENVIRONMENT *EnvFileInterface; + UINTN EnvNameSize; if (EnvName == NULL) { return (NULL); @@ -1148,7 +1149,8 @@ CreateFileInterfaceEnv( // // Get some memory // - EnvFileInterface = AllocateZeroPool(sizeof(EFI_FILE_PROTOCOL_ENVIRONMENT)+StrSize(EnvName)); + EnvNameSize = StrSize(EnvName); + EnvFileInterface = AllocateZeroPool(sizeof(EFI_FILE_PROTOCOL_ENVIRONMENT)+EnvNameSize); if (EnvFileInterface == NULL){ return (NULL); } @@ -1166,8 +1168,8 @@ CreateFileInterfaceEnv( EnvFileInterface->Flush = FileInterfaceNopGeneric; EnvFileInterface->Delete = FileInterfaceEnvDelete; EnvFileInterface->Read = FileInterfaceEnvRead; - - StrnCpy(EnvFileInterface->Name, EnvName, StrLen(EnvName)); + + CopyMem(EnvFileInterface->Name, EnvName, EnvNameSize); // // Assign the different members for Volatile and Non-Volatile variables