From: Paul Cruz Date: Tue, 20 Jun 2017 21:04:46 +0000 (-0700) Subject: fixed error where extremely small files were not being detected as not compressed... X-Git-Tag: v1.3.0~1^2~21^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=076560290346c3f83137c6f10f3d5a33efc234aa;p=thirdparty%2Fzstd.git fixed error where extremely small files were not being detected as not compressed with zstd --- diff --git a/programs/fileio.c b/programs/fileio.c index 37ec7f815..bf65ba528 100644 --- a/programs/fileio.c +++ b/programs/fileio.c @@ -889,10 +889,15 @@ static int getFileInfo(fileInfo_t* info, const char* inFileName){ BYTE headerBuffer[ZSTD_FRAMEHEADERSIZE_MAX]; size_t const numBytesRead = fread(headerBuffer, 1, sizeof(headerBuffer), srcFile); if (numBytesRead < ZSTD_frameHeaderSize_min) { - if (feof(srcFile)) { + if (feof(srcFile) && numBytesRead == 0) { break; } - else{ + else if (feof(srcFile)) { + DISPLAY("Error: reached end of file with incomplete frame\n"); + detectError = 2; + break; + } + else { DISPLAY("Error: did not reach end of file but ran out of frames\n"); detectError = 1; break;