Skip to content

Commit

Permalink
Merge pull request #310 from LemonBoy/fuzzer-fix
Browse files Browse the repository at this point in the history
Two small fixes
  • Loading branch information
uroni authored Jun 10, 2024
2 parents 3c46a05 + 961de84 commit 8573fd7
Showing 1 changed file with 4 additions and 1 deletion.
5 changes: 4 additions & 1 deletion miniz_zip.c
Original file line number Diff line number Diff line change
Expand Up @@ -790,6 +790,9 @@ static int mz_stat64(const char *path, struct __stat64 *buffer)
if ((cdir_ofs + (mz_uint64)cdir_size) > pZip->m_archive_size)
return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);

if (eocd_ofs < cdir_ofs + cdir_size)
return mz_zip_set_error(pZip, MZ_ZIP_INVALID_HEADER_OR_CORRUPTED);

/* The end of central dir follows the central dir, unless the zip file has
* some trailing data (e.g. it is appended to an executable file). */
archive_ofs = eocd_ofs - (cdir_ofs + cdir_size);
Expand All @@ -804,7 +807,7 @@ static int mz_stat64(const char *path, struct __stat64 *buffer)
}

/* Update the archive start position, but only if not specified. */
if (pZip->m_pState->m_file_archive_start_ofs == 0)
if ((pZip->m_zip_type == MZ_ZIP_TYPE_FILE || pZip->m_zip_type == MZ_ZIP_TYPE_CFILE) && pZip->m_pState->m_file_archive_start_ofs == 0)
{
pZip->m_pState->m_file_archive_start_ofs = archive_ofs;
pZip->m_archive_size -= archive_ofs;
Expand Down

0 comments on commit 8573fd7

Please sign in to comment.