]> git.ipfire.org Git - thirdparty/zstd.git/commitdiff
fixed error where extremely small files were not being detected as not compressed...
authorPaul Cruz <paulcruz74@fb.com>
Tue, 20 Jun 2017 21:04:46 +0000 (14:04 -0700)
committerPaul Cruz <paulcruz74@fb.com>
Tue, 20 Jun 2017 21:04:46 +0000 (14:04 -0700)
programs/fileio.c

index 37ec7f8150acfec88b63e1d24c4b5e7417ae5a0c..bf65ba5283f5561b1f39032397abc1f9647e0d6e 100644 (file)
@@ -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;