diff options
author | Yann Collet <yann.collet.73@gmail.com> | 2015-03-15 00:42:27 (GMT) |
---|---|---|
committer | Yann Collet <yann.collet.73@gmail.com> | 2015-03-15 00:42:27 (GMT) |
commit | 45b0642bf54718d2b57dd61cb606b154afc0ab26 (patch) | |
tree | f5321a260b8491e9f233166402b92f8c4ff68fb0 /programs/lz4io.c | |
parent | a18fb4392a9f249528a4071a5583e17668d92872 (diff) | |
download | lz4-45b0642bf54718d2b57dd61cb606b154afc0ab26.zip lz4-45b0642bf54718d2b57dd61cb606b154afc0ab26.tar.gz lz4-45b0642bf54718d2b57dd61cb606b154afc0ab26.tar.bz2 |
scan-build tests
Diffstat (limited to 'programs/lz4io.c')
-rw-r--r--[-rwxr-xr-x] | programs/lz4io.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/programs/lz4io.c b/programs/lz4io.c index 94bf5ea..50eb035 100755..100644 --- a/programs/lz4io.c +++ b/programs/lz4io.c @@ -63,7 +63,7 @@ # include <fcntl.h> /* _O_BINARY */ # include <io.h> /* _setmode, _fileno, _get_osfhandle */ # define SET_BINARY_MODE(file) _setmode(_fileno(file), _O_BINARY) -# include <Windows.h> /* DeviceIoControl, HANDLE, FSCTL_SET_SPARSE */
+# include <Windows.h> /* DeviceIoControl, HANDLE, FSCTL_SET_SPARSE */ # define SET_SPARSE_FILE_MODE(file) { DWORD dw; DeviceIoControl((HANDLE) _get_osfhandle(_fileno(file)), FSCTL_SET_SPARSE, 0, 0, 0, 0, &dw, 0); } # if defined(_MSC_VER) && (_MSC_VER >= 1400) /* Avoid MSVC fseek()'s 2GiB barrier */ # define fseek _fseeki64 @@ -465,11 +465,12 @@ int LZ4IO_compressFilename(const char* input_filename, const char* output_filena } +#define FNSPACE 30 int LZ4IO_compressMultipleFilenames(const char** inFileNamesTable, int ifntSize, const char* suffix, int compressionlevel) { int i; - char* outFileName = NULL; - size_t ofnSize = 0; + char* outFileName = (char*)malloc(FNSPACE); + size_t ofnSize = FNSPACE; const size_t suffixSize = strlen(suffix); for (i=0; i<ifntSize; i++) @@ -530,15 +531,16 @@ static unsigned long long decodeLegacyStream(FILE* finput, FILE* foutput) /* Read Block */ sizeCheck = fread(in_buff, 1, blockSize, finput); + if (sizeCheck!=blockSize) EXM_THROW(52, "Read error : cannot access compressed block !"); /* Decode Block */ decodeSize = LZ4_decompress_safe(in_buff, out_buff, blockSize, LEGACY_BLOCKSIZE); - if (decodeSize < 0) EXM_THROW(52, "Decoding Failed ! Corrupted input detected !"); + if (decodeSize < 0) EXM_THROW(53, "Decoding Failed ! Corrupted input detected !"); filesize += decodeSize; /* Write Block */ sizeCheck = fwrite(out_buff, 1, decodeSize, foutput); - if (sizeCheck != (size_t)decodeSize) EXM_THROW(53, "Write error : cannot write decoded block into output\n"); + if (sizeCheck != (size_t)decodeSize) EXM_THROW(54, "Write error : cannot write decoded block into output\n"); } /* Free */ @@ -721,9 +723,9 @@ int LZ4IO_decompressFilename(const char* input_filename, const char* output_file get_fileHandle(input_filename, output_filename, &finput, &foutput); /* sparse file */ - if (g_sparseFileSupport && foutput)
- {
- SET_SPARSE_FILE_MODE(foutput);
+ if (g_sparseFileSupport && foutput) + { + SET_SPARSE_FILE_MODE(foutput); } /* Loop over multiple streams */ |