]> git.proxmox.com Git - mirror_edk2.git/blobdiff - FatPkg/EnhancedFatDxe/Hash.c
QuarkSocPkg/QncSmmDispatcher: Fix use after free issue
[mirror_edk2.git] / FatPkg / EnhancedFatDxe / Hash.c
index dd67bab313d9c8ef9e5bd3dcb5bb8e0dfdcc0e2b..3d0ffe6fb8793c53cfefda4c3f333eda17795a3e 100644 (file)
@@ -1,6 +1,6 @@
 /*++\r
 \r
-Copyright (c) 2005 - 2014, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2005 - 2015, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials are licensed and made available\r
 under the terms and conditions of the BSD License which accompanies this\r
 distribution. The full text of the license may be found at\r
@@ -47,8 +47,12 @@ Returns:
 {\r
   UINT32  HashValue;\r
   CHAR16  UpCasedLongFileName[EFI_PATH_STRING_LENGTH];\r
-  StrnCpy (UpCasedLongFileName, LongNameString, EFI_PATH_STRING_LENGTH - 1);\r
-  UpCasedLongFileName[EFI_PATH_STRING_LENGTH - 1] = L'\0';\r
+  StrnCpyS (\r
+    UpCasedLongFileName,\r
+    sizeof (UpCasedLongFileName) / sizeof (UpCasedLongFileName[0]),\r
+    LongNameString,\r
+    sizeof (UpCasedLongFileName) / sizeof (UpCasedLongFileName[0]) - 1\r
+    );\r
   FatStrUpr (UpCasedLongFileName);\r
   gBS->CalculateCrc32 (UpCasedLongFileName, StrSize (UpCasedLongFileName), &HashValue);\r
   return (HashValue & HASH_TABLE_MASK);\r