]> git.proxmox.com Git - mirror_edk2.git/commitdiff
K8:
authorqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 20 Jan 2009 01:52:02 +0000 (01:52 +0000)
committerqwang12 <qwang12@6f19259b-4bc3-4df7-8a09-765794883524>
Tue, 20 Jan 2009 01:52:02 +0000 (01:52 +0000)
1) Fix the bug the assert conditions. || should be &&.
2) Add in code path and check-for-null-pointer to do error handling.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7308 6f19259b-4bc3-4df7-8a09-765794883524

MdeModulePkg/Universal/HiiDatabaseDxe/Database.c
MdeModulePkg/Universal/HiiDatabaseDxe/Font.c
MdeModulePkg/Universal/HiiDatabaseDxe/String.c

index 3d70207952918b21966ec741736f9c536cb16849..b1a3374991ecadc58a5361d5694f7c4fa1c4648b 100644 (file)
@@ -2556,7 +2556,7 @@ ExportPackageList (
   UINTN                               ResultSize;\r
   EFI_HII_PACKAGE_HEADER              EndofPackageList;\r
 \r
-  ASSERT (Private != NULL || PackageList != NULL || UsedSize != NULL);\r
+  ASSERT (Private != NULL && PackageList != NULL && UsedSize != NULL);\r
   ASSERT (Private->Signature == HII_DATABASE_PRIVATE_DATA_SIGNATURE);\r
   ASSERT (IsHiiHandleValid (Handle));\r
 \r
index 06b09e7f7625185baedfb912bad3987f26c85c70..82f47163b7dd468d707ab9452edc127735ffcbd6 100644 (file)
@@ -1566,6 +1566,7 @@ HiiStringToImage (
   Status        = EFI_SUCCESS;\r
   StringIn2     = NULL;\r
   SystemDefault = NULL;\r
+  StringIn      = NULL;\r
 \r
   //\r
   // Calculate the string output information, including specified color and font .\r
@@ -1596,11 +1597,13 @@ HiiStringToImage (
       Foreground  = ((EFI_FONT_DISPLAY_INFO *) StringInfo)->ForegroundColor;\r
       Background  = ((EFI_FONT_DISPLAY_INFO *) StringInfo)->BackgroundColor;\r
 \r
-    } else {\r
+    } else if (Status == EFI_SUCCESS) {\r
       FontInfo   = &StringInfoOut->FontInfo;\r
       Height     = StringInfoOut->FontInfo.FontSize;\r
       Foreground = StringInfoOut->ForegroundColor;\r
       Background = StringInfoOut->BackgroundColor;\r
+    } else {\r
+      goto Exit;\r
     }\r
   }\r
 \r
@@ -1609,7 +1612,6 @@ HiiStringToImage (
   //\r
 \r
   StringPtr = String;\r
-  StringIn  = NULL;\r
 \r
   //\r
   // Ignore line-break characters only. Hyphens or dash character will be displayed\r
index 8c207f947680326d1fd8f6d0f1cc5faba394b84d..64148fe1316353422ff357e6ed8dae86ead81c23 100644 (file)
@@ -124,7 +124,7 @@ ConvertToUnicodeText (
   ASSERT (StringSrc != NULL && BufferSize != NULL);\r
 \r
   StringSize = AsciiStrSize (StringSrc) * 2;\r
-  if (*BufferSize < StringSize) {\r
+  if (*BufferSize < StringSize || StringDest == NULL) {\r
     *BufferSize = StringSize;\r
     return EFI_BUFFER_TOO_SMALL;\r
   }\r