diff --git a/BaseTools/ImageTool/BinEmit.c b/BaseTools/ImageTool/BinEmit.c index f84a91d719..ed459f0caf 100644 --- a/BaseTools/ImageTool/BinEmit.c +++ b/BaseTools/ImageTool/BinEmit.c @@ -171,6 +171,7 @@ ConstructHii ( File = UserReadFile (FileNames[Index], &FileSize); if (File == NULL) { fprintf (stderr, "ImageTool: Could not open %s: %s\n", FileNames[Index], strerror (errno)); + free (HiiPackageData); return RETURN_ABORTED; } diff --git a/BaseTools/ImageTool/ImageTool.c b/BaseTools/ImageTool/ImageTool.c index ddcccbbcb6..6ceabca476 100644 --- a/BaseTools/ImageTool/ImageTool.c +++ b/BaseTools/ImageTool/ImageTool.c @@ -109,6 +109,7 @@ HiiSrc ( " (CONST MODULE_HII_PACKAGE_LIST *)&mModuleHiiPackageList;\n" ); + fclose (FilePtr); FreePool (Hii); return RETURN_SUCCESS;