summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BaseTools/Source/C/GenVtf/GenVtf.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/BaseTools/Source/C/GenVtf/GenVtf.c b/BaseTools/Source/C/GenVtf/GenVtf.c
index f6765ddbca..b68d86a97e 100644
--- a/BaseTools/Source/C/GenVtf/GenVtf.c
+++ b/BaseTools/Source/C/GenVtf/GenVtf.c
@@ -1125,6 +1125,7 @@ Returns:
EFI_ABORTED - Aborted due to one of the many reasons like:
(a) Component Size greater than the specified size.
(b) Error opening files.
+ (c) Fail to get the FIT table address.
EFI_INVALID_PARAMETER Value returned from call to UpdateEntryPoint()
EFI_OUT_OF_RESOURCES Memory allocation failure.
@@ -1240,6 +1241,10 @@ Returns:
}
GetNextAvailableFitPtr (&CompFitPtr);
+ if (CompFitPtr == NULL) {
+ free (Buffer);
+ return EFI_ABORTED;
+ }
CompFitPtr->CompAddress = CompStartAddress | IPF_CACHE_BIT;
if ((FileSize % 16) != 0) {
@@ -2652,6 +2657,7 @@ Returns:
}
SymFileName = VTF_SYM_FILE;
} else {
+ assert (OutFileName1);
INTN OutFileNameLen = strlen(OutFileName1);
INTN NewIndex;
@@ -2665,6 +2671,10 @@ Returns:
} else {
INTN SymFileNameLen = NewIndex + 1 + strlen(VTF_SYM_FILE);
SymFileName = malloc(SymFileNameLen + 1);
+ if (SymFileName == NULL) {
+ Error (NULL, 0, 4001, "Resource", "memory cannot be allocated!");
+ goto ERROR;
+ }
memcpy(SymFileName, OutFileName1, NewIndex + 1);
memcpy(SymFileName + NewIndex + 1, VTF_SYM_FILE, strlen(VTF_SYM_FILE));
SymFileName[SymFileNameLen] = '\0';