"EFI_FV_FILETYPE_SMM", // 0x0A\r
"EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE",// 0x0B\r
"EFI_FV_FILETYPE_COMBINED_SMM_DXE", // 0x0C\r
- "EFI_FV_FILETYPE_SMM_CORE" // 0x0D\r
- };\r
+ "EFI_FV_FILETYPE_SMM_CORE", // 0x0D\r
+ "EFI_FV_FILETYPE_MM_STANDALONE", // 0x0E\r
+ "EFI_FV_FILETYPE_MM_CORE_STANDALONE" // 0x0F\r
+};\r
\r
STATIC CHAR8 *mAlignName[] = {\r
"1", "2", "4", "8", "16", "32", "64", "128", "256", "512",\r
EFI_FV_FILETYPE_DRIVER, EFI_FV_FILETYPE_APPLICATION,\n\\r
EFI_FV_FILETYPE_COMBINED_PEIM_DRIVER,\n\\r
EFI_FV_FILETYPE_SMM, EFI_FV_FILETYPE_SMM_CORE,\n\\r
+ EFI_FV_FILETYPE_MM_STANDALONE,\n\\r
+ EFI_FV_FILETYPE_MM_CORE_STANDALONE,\n\\r
EFI_FV_FILETYPE_COMBINED_SMM_DXE, \n\\r
EFI_FV_FILETYPE_FIRMWARE_VOLUME_IMAGE.\n");\r
fprintf (stdout, " -g FileGuid, --fileguid FileGuid\n\\r
);\r
}\r
\r
- if (EFI_ERROR (Status) || (FileBuffer == NULL)) {\r
+ if (EFI_ERROR (Status)) {\r
+ goto Finish;\r
+ }\r
+\r
+ if (FileBuffer == NULL && FileSize != 0) {\r
+ Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");\r
goto Finish;\r
}\r
\r
//\r
// write data\r
//\r
- fwrite (FileBuffer, 1, FileSize - HeaderSize, FfsFile);\r
+ if (FileBuffer != NULL) {\r
+ fwrite (FileBuffer, 1, FileSize - HeaderSize, FfsFile);\r
+ }\r
\r
fclose (FfsFile);\r
}\r