Merge pull request #972 from pixelb/bz1530049

zstd: fix crash when not overwriting existing files
This commit is contained in:
Yann Collet 2018-01-04 12:14:50 +01:00 committed by GitHub
commit dce386f658
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -951,10 +951,14 @@ int FIO_compressMultipleFilenames(const char** inFileNamesTable, unsigned nbFile
if (outFileName != NULL) {
unsigned u;
ress.dstFile = FIO_openDstFile(outFileName);
for (u=0; u<nbFiles; u++)
missed_files += FIO_compressFilename_srcFile(ress, outFileName, inFileNamesTable[u], compressionLevel);
if (fclose(ress.dstFile))
EXM_THROW(29, "Write error : cannot properly close stdout");
if (ress.dstFile==NULL) { /* could not open outFileName */
missed_files = nbFiles;
} else {
for (u=0; u<nbFiles; u++)
missed_files += FIO_compressFilename_srcFile(ress, outFileName, inFileNamesTable[u], compressionLevel);
if (fclose(ress.dstFile))
EXM_THROW(29, "Write error : cannot properly close stdout");
}
} else {
unsigned u;
for (u=0; u<nbFiles; u++) {