diff --git a/programs/fileio.c b/programs/fileio.c
index 4f92e16..e667130 100644
--- a/programs/fileio.c
+++ b/programs/fileio.c
@@ -914,8 +914,8 @@
             }
             size_t const headerSize = ZSTD_frameHeaderSize(headerBuffer, numBytesRead);
             if (ZSTD_isError(headerSize)) {
-                fclose(srcFile);
                 DISPLAY("Error: could not determine frame header size\n");
+                fclose(srcFile);
                 return 1;
             }
 
@@ -1037,25 +1037,20 @@
             DISPLAYOUT("Check: XXH64\n");
         }
     }
+
+    DISPLAYOUT("\n");
 }
 
 int FIO_listFile(const char* inFileName, int displayLevel){
-    const char* const suffixPtr = strrchr(inFileName, '.');
     DISPLAY("File: %s\n", inFileName);
-    if (!suffixPtr || strcmp(suffixPtr, ZSTD_EXTENSION)) {
-        DISPLAYLEVEL(1, "file %s was not compressed with zstd -- ignoring\n\n", inFileName);
+    fileInfo_t* info = (fileInfo_t*)malloc(sizeof(fileInfo_t));
+    int error = getFileInfo(info, inFileName);
+    if (error == 1) {
+        DISPLAY("An error occurred with getting file info\n");
         return 1;
     }
-    else {
-        fileInfo_t* info = (fileInfo_t*)malloc(sizeof(fileInfo_t));
-        int error = getFileInfo(info, inFileName);
-        if(error==1){
-            DISPLAY("An error occurred with getting file info\n");
-            exit(1);
-        }
-        displayInfo(inFileName, info, displayLevel);
-    }
-    DISPLAY("\n");
+    displayInfo(inFileName, info, displayLevel);
+    free(info);
     return 0;
 }
 
