BaseTools/GenVtf: Fix file handles not being closed

Cc: Liming Gao <liming.gao@intel.com>
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Hao Wu <hao.a.wu@intel.com>
Reviewed-by: Liming Gao <liming.gao@intel.com>
This commit is contained in:
Hao Wu 2016-10-11 15:50:10 +08:00
parent 320ba37a56
commit 181c955937
1 changed files with 13 additions and 0 deletions

View File

@ -1164,6 +1164,7 @@ Returns:
if (VtfInfo->PreferredSize) {
if (FileSize > VtfInfo->CompSize) {
fclose (Fp);
Error (NULL, 0, 2000, "Invalid parameter", "The component size is more than specified size.");
return EFI_ABORTED;
}
@ -1173,6 +1174,7 @@ Returns:
Buffer = malloc ((UINTN) FileSize);
if (Buffer == NULL) {
fclose (Fp);
return EFI_OUT_OF_RESOURCES;
}
memset (Buffer, 0, (UINTN) FileSize);
@ -1342,6 +1344,7 @@ Returns:
FileSize = _filelength (fileno (Fp));
if (FileSize < 64) {
fclose (Fp);
Error (NULL, 0, 2000, "Invalid parameter", "PAL_A bin header is 64 bytes, so the Bin size must be larger than 64 bytes!");
return EFI_INVALID_PARAMETER;
}
@ -1350,6 +1353,7 @@ Returns:
if (VtfInfo->PreferredSize) {
if (FileSize > VtfInfo->CompSize) {
fclose (Fp);
Error (NULL, 0, 2000, "Invalid parameter", "The PAL_A Size is more than the specified size.");
return EFI_ABORTED;
}
@ -1359,6 +1363,7 @@ Returns:
Buffer = malloc ((UINTN) FileSize);
if (Buffer == NULL) {
fclose (Fp);
return EFI_OUT_OF_RESOURCES;
}
memset (Buffer, 0, (UINTN) FileSize);
@ -1775,11 +1780,13 @@ Returns:
FileSize = _filelength (fileno (Fp));
if (FileSize > 16) {
fclose (Fp);
return EFI_ABORTED;
}
Buffer = malloc (FileSize);
if (Buffer == NULL) {
fclose (Fp);
return EFI_OUT_OF_RESOURCES;
}
@ -2548,6 +2555,12 @@ Returns:
// Get the input VTF file name
//
VtfFileName = argv[Index+1];
if (VtfFP != NULL) {
//
// VTF file name has been given previously, override with the new value
//
fclose (VtfFP);
}
VtfFP = fopen (LongFilePath (VtfFileName), "rb");
if (VtfFP == NULL) {
Error (NULL, 0, 0001, "Error opening file", VtfFileName);