]> 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 1de07a35411ad1bdea5d7ce5241e21747d117b2f..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) { (void)p; return MyAlloc(size); }\r
-static void SzFree(void *p, void *address) { (void)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