Explorar o código

zip: fail with correct error code if opening a directory.

Ryan C. Gordon %!s(int64=8) %!d(string=hai) anos
pai
achega
63de092cb7
Modificáronse 1 ficheiros con 1 adicións e 0 borrados
  1. 1 0
      src/archiver_zip.c

+ 1 - 0
src/archiver_zip.c

@@ -1545,6 +1545,7 @@ static PHYSFS_Io *ZIP_openRead(void *opaque, const char *filename)
     } /* if */
     } /* if */
 
 
     BAIL_IF_ERRPASS(!entry, NULL);
     BAIL_IF_ERRPASS(!entry, NULL);
+    BAIL_IF(entry->tree.isdir, PHYSFS_ERR_NOT_A_FILE, NULL);
 
 
     retval = (PHYSFS_Io *) allocator.Malloc(sizeof (PHYSFS_Io));
     retval = (PHYSFS_Io *) allocator.Malloc(sizeof (PHYSFS_Io));
     GOTO_IF(!retval, PHYSFS_ERR_OUT_OF_MEMORY, ZIP_openRead_failed);
     GOTO_IF(!retval, PHYSFS_ERR_OUT_OF_MEMORY, ZIP_openRead_failed);