ok, tweaking the fclose leak fix on write failure so it occurs AFTER the src file is opened, to prevent the dest archive from expanding in case the src file is missing (should be harmless though)
This commit is contained in:
parent
54c4c73ab6
commit
90352e2d5f
10
miniz.c
10
miniz.c
@ -4439,10 +4439,7 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name,
|
||||
|
||||
if (!mz_zip_get_file_modified_time(pSrc_filename, &dos_time, &dos_date))
|
||||
return MZ_FALSE;
|
||||
|
||||
if (!mz_zip_writer_write_zeros(pZip, cur_archive_file_ofs, num_alignment_padding_bytes + sizeof(local_dir_header)))
|
||||
return MZ_FALSE;
|
||||
|
||||
|
||||
pSrc_file = MZ_FOPEN(pSrc_filename, "rb");
|
||||
if (!pSrc_file)
|
||||
return MZ_FALSE;
|
||||
@ -4459,6 +4456,11 @@ mz_bool mz_zip_writer_add_file(mz_zip_archive *pZip, const char *pArchive_name,
|
||||
if (uncomp_size <= 3)
|
||||
level = 0;
|
||||
|
||||
if (!mz_zip_writer_write_zeros(pZip, cur_archive_file_ofs, num_alignment_padding_bytes + sizeof(local_dir_header)))
|
||||
{
|
||||
MZ_FCLOSE(pSrc_file);
|
||||
return MZ_FALSE;
|
||||
}
|
||||
local_dir_header_ofs += num_alignment_padding_bytes;
|
||||
if (pZip->m_file_offset_alignment) { MZ_ASSERT((local_dir_header_ofs & (pZip->m_file_offset_alignment - 1)) == 0); }
|
||||
cur_archive_file_ofs += num_alignment_padding_bytes + sizeof(local_dir_header);
|
||||
|
||||
Loading…
Reference in New Issue
Block a user