diff --git a/modules/zip/zip_reader.cpp b/modules/zip/zip_reader.cpp index f4a92dce5b93..123d1e5d4680 100644 --- a/modules/zip/zip_reader.cpp +++ b/modules/zip/zip_reader.cpp @@ -58,7 +58,14 @@ Error ZIPReader::close() { PackedStringArray ZIPReader::get_files() { ERR_FAIL_COND_V_MSG(fa.is_null(), PackedStringArray(), "ZIPReader must be opened before use."); - int err = unzGoToFirstFile(uzf); + unz_global_info gi; + int err = unzGetGlobalInfo(uzf, &gi); + ERR_FAIL_COND_V(err != UNZ_OK, PackedStringArray()); + if (gi.number_entry == 0) { + return PackedStringArray(); + } + + err = unzGoToFirstFile(uzf); ERR_FAIL_COND_V(err != UNZ_OK, PackedStringArray()); List s;