diff --git a/miniz-2.2.0-Fix-unaligned-pointer-access.patch b/miniz-2.2.0-Fix-unaligned-pointer-access.patch new file mode 100644 index 0000000..63cd4e1 --- /dev/null +++ b/miniz-2.2.0-Fix-unaligned-pointer-access.patch @@ -0,0 +1,37 @@ +From f3906fd616c92168c63bb92accc72e79a24b0c04 Mon Sep 17 00:00:00 2001 +From: Martin +Date: Sun, 28 Nov 2021 18:37:55 +0100 +Subject: [PATCH] Fix unaligned pointer access +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Petr Písař: Ported to 2.2.0. + +Signed-off-by: Petr Písař +--- + miniz.c | 8 ++++---- + 1 file changed, 4 insertions(+), 4 deletions(-) + +diff --git a/miniz.c b/miniz.c +index af27389..071367f 100644 +--- a/miniz.c ++++ b/miniz.c +@@ -7118,10 +7118,10 @@ mz_bool mz_zip_writer_add_from_zip_reader(mz_zip_archive *pZip, mz_zip_archive * + if (pZip->m_pState->m_zip64) + { + /* dest is zip64, so upgrade the data descriptor */ +- const mz_uint32 *pSrc_descriptor = (const mz_uint32 *)((const mz_uint8 *)pBuf + (has_id ? sizeof(mz_uint32) : 0)); +- const mz_uint32 src_crc32 = pSrc_descriptor[0]; +- const mz_uint64 src_comp_size = pSrc_descriptor[1]; +- const mz_uint64 src_uncomp_size = pSrc_descriptor[2]; ++ const mz_uint8 *pSrc_descriptor = (const mz_uint8 *)pBuf + (has_id ? sizeof(mz_uint32) : 0); ++ const mz_uint32 src_crc32 = MZ_READ_LE32(pSrc_descriptor); ++ const mz_uint64 src_comp_size = MZ_READ_LE32(pSrc_descriptor + sizeof(mz_uint32)); ++ const mz_uint64 src_uncomp_size = MZ_READ_LE32(pSrc_descriptor + 2*sizeof(mz_uint32)); + + mz_write_le32((mz_uint8 *)pBuf, MZ_ZIP_DATA_DESCRIPTOR_ID); + mz_write_le32((mz_uint8 *)pBuf + sizeof(mz_uint32) * 1, src_crc32); +-- +2.34.1 + diff --git a/miniz.spec b/miniz.spec index f96a95f..3b16ac7 100644 --- a/miniz.spec +++ b/miniz.spec @@ -20,6 +20,8 @@ Patch0: miniz-2.2.0-Examples-to-include-system-miniz.h.patch # Fix an unitialized memory in tinfl_decompress_mem_to_callback(), GH#197, # in upstream after 2.2.0. Patch1: miniz-2.2.0-Fix-use-of-uninitialized-memory-in-tinfl_decompress_.patch +# Fix an unaligned memory access, in upstream after 2.2.0. +Patch2: miniz-2.2.0-Fix-unaligned-pointer-access.patch BuildRequires: coreutils # diffutils for cmp BuildRequires: diffutils @@ -59,6 +61,7 @@ Header files for developing applications that use the %{name} library. unzip -e '%{SOURCE0}' %patch0 -p1 %patch1 -p1 +%patch2 -p1 # Normalize end-of-lines sed -e 's/\r$//' ChangeLog.md > ChangeLog.md.new touch -r ChangeLog.md ChangeLog.md.new @@ -137,6 +140,7 @@ install -m 0644 %{name}.h '%{buildroot}/%{_includedir}' %changelog * Mon Jan 24 2022 Petr Pisar - 2.2.0-2 - Fix an unitialized memory in tinfl_decompress_mem_to_callback() (GH#197) +- Fix an unaligned memory access * Wed Aug 11 2021 Petr Pisar - 2.2.0-1 - 2.2.0 bump