From: Neil Johari Date: Tue, 16 Sep 2025 07:02:04 +0000 (-0700) Subject: Fix bug X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=85f4a7e84e266d9545a309ff3f25e71345d8be62;p=thirdparty%2Fzstd.git Fix bug --- diff --git a/programs/dibio.c b/programs/dibio.c index f5f33f1bd..29a27d9db 100644 --- a/programs/dibio.c +++ b/programs/dibio.c @@ -282,13 +282,16 @@ static fileStats DiB_fileStats(const char** fileNamesTable, int nbFiles, size_t DISPLAYLEVEL(1, "[DEBUG] File '%s': size=%lld\n", fileNamesTable[n], (long long)fileSize); /* TODO: is there a minimum sample size? What if the file is 1-byte? */ - if (fileSize == 0) { - DISPLAYLEVEL(3, "Sample file '%s' has zero size, skipping...\n", fileNamesTable[n]); + /* Skip empty or invalid files */ + if (fileSize <= 0) { + if (fileSize < 0) { + DISPLAYLEVEL(3, "Sample file '%s' is unreadable or stat failed, skipping...\n", + fileNamesTable[n]); + } else { + DISPLAYLEVEL(3, "Sample file '%s' has zero size, skipping...\n", + fileNamesTable[n]); + } continue; - } else if (fileSize < 0) { - /* BUG: This path is NOT skipped but should be! */ - DISPLAYLEVEL(1, "[BUG] File '%s' has NEGATIVE size %lld but is NOT skipped!\n", - fileNamesTable[n], (long long)fileSize); } /* the case where we are breaking up files in sample chunks */