]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/HiiDatabaseDxe/Database.c
MdeModulePkg:Modify the incorrect DestStr length in safe string functions
[mirror_edk2.git] / MdeModulePkg / Universal / HiiDatabaseDxe / Database.c
index 01d7f02234ad30700f8fc6412e7699285f6e3da9..ec56795ebb1924942403472a062cc3129aecbc8c 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
 Implementation for EFI_HII_DATABASE_PROTOCOL.\r
 \r
-Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2007 - 2015, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -798,7 +798,7 @@ InsertStringPackage (
   if (Language == NULL) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
-  AsciiStrCpy (Language, (CHAR8 *) PackageHdr + HeaderSize - LanguageSize);\r
+  AsciiStrCpyS (Language, LanguageSize / sizeof (CHAR8), (CHAR8 *) PackageHdr + HeaderSize - LanguageSize);\r
   for (Link = PackageList->StringPkgHdr.ForwardLink; Link != &PackageList->StringPkgHdr; Link = Link->ForwardLink) {\r
     StringPackage = CR (Link, HII_STRING_PACKAGE_INSTANCE, StringEntry, HII_STRING_PACKAGE_SIGNATURE);\r
     if (HiiCompareLanguage (Language, StringPackage->StringPkgHdr->Language)) {\r
@@ -1182,7 +1182,7 @@ InsertFontPackage (
   }\r
   FontInfo->FontStyle = FontPkgHdr->FontStyle;\r
   FontInfo->FontSize  = FontPkgHdr->Cell.Height;\r
-  StrCpy (FontInfo->FontName, FontPkgHdr->FontFamily);\r
+  StrCpyS (FontInfo->FontName, (FontInfoSize - OFFSET_OF(EFI_FONT_INFO,FontName)) / sizeof (CHAR16), FontPkgHdr->FontFamily);\r
 \r
   if (IsFontInfoExisted (Private, FontInfo, NULL, NULL, NULL)) {\r
     Status = EFI_UNSUPPORTED;\r
@@ -2417,9 +2417,14 @@ AddPackages (
   //\r
   // Initialize Variables\r
   //\r
-  StringPkgIsAdd = FALSE;\r
-  FontPackage = NULL;\r
-  StringPackage = NULL;\r
+  StringPkgIsAdd        = FALSE;\r
+  FontPackage           = NULL;\r
+  StringPackage         = NULL;\r
+  GuidPackage           = NULL;\r
+  FormPackage           = NULL;\r
+  ImagePackage          = NULL;\r
+  SimpleFontPackage     = NULL;\r
+  KeyboardLayoutPackage = NULL;\r
 \r
   //\r
   // Process the package list header\r