Reviewed-by: Star Zeng <star.z...@intel.com>

-----Original Message-----
From: Qiu, Shumin 
Sent: Thursday, June 25, 2015 3:47 PM
To: edk2-devel@lists.sourceforge.net
Cc: Zeng, Star; Fan, Jeff; Gao, Liming; Ni, Ruiyu; Tian, Feng
Subject: [PATCH 13/13] MdeModulePkg/Universal/Variable: Use safe string 
functions to refine code.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Qiu Shumin <shumin....@intel.com>
---
 MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c | 6 +++---
 MdeModulePkg/Universal/Variable/RuntimeDxe/VarCheck.c       | 2 +-
 MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c       | 6 +++---
 3 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c 
b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
index e076840..977332e 100644
--- a/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
+++ b/MdeModulePkg/Universal/Variable/EmuRuntimeDxe/EmuVariable.c
@@ -3,7 +3,7 @@
   Emulation Variable services operate on the runtime volatile memory.
   The nonvolatile variable space doesn't exist.
 
-Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
+Copyright (c) 2006 - 2015, Intel Corporation. All rights reserved.<BR>
 This program and the accompanying materials  are licensed and made available 
under the terms and conditions of the BSD License  which accompanies this 
distribution.  The full text of the license may be found at @@ -322,7 +322,7 @@ 
UpdateVariableInfo (
       CopyGuid (&gVariableInfo->VendorGuid, VendorGuid);
       gVariableInfo->Name = AllocateZeroPool (StrSize (VariableName));
       ASSERT (gVariableInfo->Name != NULL);
-      StrnCpy (gVariableInfo->Name, VariableName, StrLen (VariableName));
+      StrCpyS (gVariableInfo->Name, 
+ StrSize(VariableName)/sizeof(CHAR16), VariableName);
       gVariableInfo->Volatile = Volatile;
 
       gBS->InstallConfigurationTable (&gEfiVariableGuid, gVariableInfo); @@ 
-360,7 +360,7 @@ UpdateVariableInfo (
         CopyGuid (&Entry->Next->VendorGuid, VendorGuid);
         Entry->Next->Name = AllocateZeroPool (StrSize (VariableName));
         ASSERT (Entry->Next->Name != NULL);
-        StrnCpy (Entry->Next->Name, VariableName, StrLen (VariableName));
+        StrCpyS (Entry->Next->Name, 
+ StrSize(VariableName)/sizeof(CHAR16), VariableName);
         Entry->Next->Volatile = Volatile;
       }
 
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/VarCheck.c 
b/MdeModulePkg/Universal/Variable/RuntimeDxe/VarCheck.c
index b2f5572..0586e41 100644
--- a/MdeModulePkg/Universal/Variable/RuntimeDxe/VarCheck.c
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/VarCheck.c
@@ -1048,7 +1048,7 @@ VarCheckVariablePropertySet (
       goto Done;
     }
     VariableName = (CHAR16 *) ((UINTN) Entry + sizeof (*Entry));
-    StrnCpy (VariableName, Name, StrLen (Name));
+    StrCpyS (VariableName, StrSize(Name)/sizeof(CHAR16), Name);
     CopyGuid (&Entry->Guid, Guid);
     CopyMem (&Entry->VariableProperty, VariableProperty, sizeof 
(*VariableProperty));
     InsertTailList (&mVarCheckVariableList, &Entry->Link); diff --git 
a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c 
b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
index a4104cc..4ef1240 100644
--- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
@@ -111,7 +111,7 @@ UpdateVariableInfo (
       CopyGuid (&gVariableInfo->VendorGuid, VendorGuid);
       gVariableInfo->Name = AllocateZeroPool (StrSize (VariableName));
       ASSERT (gVariableInfo->Name != NULL);
-      StrnCpy (gVariableInfo->Name, VariableName, StrLen (VariableName));
+      StrCpyS (gVariableInfo->Name, 
+ StrSize(VariableName)/sizeof(CHAR16), VariableName);
       gVariableInfo->Volatile = Volatile;
     }
 
@@ -147,7 +147,7 @@ UpdateVariableInfo (
         CopyGuid (&Entry->Next->VendorGuid, VendorGuid);
         Entry->Next->Name = AllocateZeroPool (StrSize (VariableName));
         ASSERT (Entry->Next->Name != NULL);
-        StrnCpy (Entry->Next->Name, VariableName, StrLen (VariableName));
+        StrCpyS (Entry->Next->Name, 
+ StrSize(VariableName)/sizeof(CHAR16), VariableName);
         Entry->Next->Volatile = Volatile;
       }
 
@@ -2450,7 +2450,7 @@ VariableLockRequestToLock (
   }
 
   Name = (CHAR16 *) ((UINTN) Entry + sizeof (*Entry));
-  StrnCpy   (Name, VariableName, StrLen (VariableName));
+  StrCpyS (Name, StrSize (VariableName)/sizeof(CHAR16), VariableName);
   CopyGuid (&Entry->Guid, VendorGuid);
   InsertTailList (&mLockedVariableList, &Entry->Link);
 
--
1.9.5.msysgit.1



------------------------------------------------------------------------------
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to