]> git.proxmox.com Git - mirror_edk2.git/blobdiff - BaseTools/Source/C/LzmaCompress/LzmaCompress.c
BaseTools/LzmaCompress: Fix file handles not being closed
[mirror_edk2.git] / BaseTools / Source / C / LzmaCompress / LzmaCompress.c
index b569b4e4d9804a808bcf6b0034e42c00ec9d654a..be8790219699279ce831029d28b616eedfcce91f 100644 (file)
@@ -1,11 +1,11 @@
 /** @file\r
   LZMA Compress/Decompress tool (LzmaCompress)\r
 \r
-  Based on LZMA SDK 4.65:\r
+  Based on LZMA SDK 16.04:\r
     LzmaUtil.c -- Test application for LZMA compression\r
-    2008-11-23 : Igor Pavlov : Public domain\r
+    2016-10-04 : Igor Pavlov : Public domain\r
 \r
-  Copyright (c) 2006 - 2012, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
   This program and the accompanying materials\r
   are licensed and made available under the terms and conditions of the BSD License\r
   which accompanies this distribution.  The full text of the license may be found at\r
@@ -43,10 +43,6 @@ const char *kCantWriteMessage = "Can not write output file";
 const char *kCantAllocateMessage = "Can not allocate memory";\r
 const char *kDataErrorMessage = "Data error";\r
 \r
-static void *SzAlloc(void *p, size_t size) { p = p; return MyAlloc(size); }\r
-static void SzFree(void *p, void *address) { p = p; MyFree(address); }\r
-static ISzAlloc g_Alloc = { SzAlloc, SzFree };\r
-\r
 static Bool mQuietMode = False;\r
 static CONVERTER_TYPE mConType = NoConverter;\r
 \r
@@ -54,7 +50,7 @@ static CONVERTER_TYPE mConType = NoConverter;
 #define UTILITY_MAJOR_VERSION 0\r
 #define UTILITY_MINOR_VERSION 2\r
 #define INTEL_COPYRIGHT \\r
-  "Copyright (c) 2009-2012, Intel Corporation. All rights reserved."\r
+  "Copyright (c) 2009-2016, Intel Corporation. All rights reserved."\r
 void PrintHelp(char *buffer)\r
 {\r
   strcat(buffer,\r
@@ -333,8 +329,10 @@ int main2(int numArgs, const char *args[], char *rs)
   if (InFile_Open(&inStream.file, inputFile) != 0)\r
     return PrintError(rs, "Can not open input file");\r
 \r
-  if (OutFile_Open(&outStream.file, outputFile) != 0)\r
+  if (OutFile_Open(&outStream.file, outputFile) != 0) {\r
+    File_Close(&inStream.file);\r
     return PrintError(rs, "Can not open output file");\r
+  }\r
 \r
   File_GetLength(&inStream.file, &fileSize);\r
 \r