]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Library/UefiIfrSupportLib/UefiIfrForm.c
1.enhanced security check.
[mirror_edk2.git] / MdeModulePkg / Library / UefiIfrSupportLib / UefiIfrForm.c
index a81423763b0dd412ac24f4c1af127bac6ed78cfa..9e6d3382f70682e6fa80e684e70ba650c91069fb 100644 (file)
@@ -974,7 +974,7 @@ ConstructConfigHdr (
   EFI_DEVICE_PATH_PROTOCOL  *DevicePath;\r
 \r
   //\r
-  // Make sure \r
+  // Make sure when ConfigHdr is NULL, StrBufferlen must be 0\r
   //\r
   ASSERT (!(ConfigHdr == NULL && *StrBufferLen != 0));\r
 \r
@@ -1009,7 +1009,7 @@ ConstructConfigHdr (
   // | 5  |   32   |  6  |  NameStrLen*4 |  6  |    DevicePathStrLen    | 1 |\r
   //\r
   BufferSize = (5 + 32 + 6 + NameStrLen * 4 + 6 + DevicePathSize * 2 + 1) * sizeof (CHAR16);\r
-  if (*StrBufferLen < BufferSize) {\r
+  if ((*StrBufferLen == 0) || *StrBufferLen < BufferSize) {\r
     *StrBufferLen = BufferSize;\r
     return EFI_BUFFER_TOO_SMALL;\r
   }\r