mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-09 18:45:54 +02:00
p7zip: Update to 17.03
- Update p7zip from 16.02 (Jul 2016) to 17.03 (Dec 2020) - Version 16.02 was the last version by the previous dev team. A fork was created in May 2020 with version 17.01 - Rootfile updated - Changelog Version 17.03 ============= - add zstd to zip - add hash algorithm - XXHASH32 - XXHASH64 - MD2 - MD4 - MD5 - sha384 - sha512 - add Lzfse to dmg - add lz5 to 7z - add lizard to 7z - update lz4 to v1.9.3 - add brotli to 7z - update cmake build - fix xz crc64 error - use system local to select OEM code - add rpm install - fix lzma2 and flzma22 call the same algorithm - add 7zr build - fix tar format link file compress and decompress Version 17.02 ============= - p7zip 17.02 is more like 7zip 17.01(only 7za and 7z),The difference from 7zip 17.01 and older version p7zip is the following description - Supports Fast lzma2 1.0.1 compression method - Update Zstd method to 1.4.5 - Add zstd method parameters in 7z format ZSTD parameters NEW name: strategy -> strat fast -> fast long -> long WindowLog -> wlog HashLog -> hlog ChainLog -> clog SearchLog -> slog MinMatch -> slen TargetLen -> tlen OverlapLog -> ovlog LdmHashLog -> ldmhlog LdmSearchLength -> ldmslen LdmBucketSizeLog -> ldmblog LdmHashRateLog -> ldmhevery - Fix symlink files contained inside tar and squashfs as regular file - Add lz4 and Zstd decompress method to squashfs Version 17.01 ============= - Fix BUG CVE-2018-10115 - Fix BUG CVE-2018-5996 - Fix BUG CVE-2017-17969 - Fix BUG CVE-2016-9296 - The bug fixes in version 17.01 address the same CVE bugs as the p7zip-16.02-consolidated_fixes-1.patch Therefore this patch is no longer needed - The patches for CVE-2016-2334 & 2335 were for versions before 16.00 so are no longer needed Signed-off-by: Adolf Belka <adolf.belka@ipfire.org> Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
committed by
Michael Tremer
parent
b51d19ece2
commit
8ace58e8ac
@@ -9,102 +9,105 @@ usr/lib/p7zip/7za
|
||||
usr/lib/p7zip/7zr
|
||||
usr/lib/p7zip/Codecs
|
||||
usr/lib/p7zip/Codecs/Rar.so
|
||||
#usr/share/doc/p7zip-16.02
|
||||
#usr/share/doc/p7zip-16.02/ChangeLog
|
||||
#usr/share/doc/p7zip-16.02/DOC
|
||||
#usr/share/doc/p7zip-16.02/DOC/7zC.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/7zFormat.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/License.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/add.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/bench.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/delete.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/extract.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/extract_full.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/hash.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/index.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/list.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/rename.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/test.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/commands/update.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/exit_codes.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/index.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ar_exclude.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ar_include.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ar_no.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/bb.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/bs.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/charset.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/exclude.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/include.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/index.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/large_pages.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/list_tech.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/method.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/output_dir.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/overwrite.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/password.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/recurse.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sa.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/scc.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/scrc.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sdel.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sfx.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/shared.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sni.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/sns.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/spf.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/ssc.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stdin.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stdout.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stl.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stop_switch.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/stx.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/type.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/update.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/volume.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/working_dir.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/switches/yes.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/cmdline/syntax.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/about.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/benchmark.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/index.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/menu.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/options.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/add.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/extract.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/index.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/7-zip/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/index.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/plugins/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/fm/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/7z.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/faq.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/formats.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/index.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/license.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/performance.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/general/thanks.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/start.htm
|
||||
#usr/share/doc/p7zip-16.02/DOC/MANUAL/style.css
|
||||
#usr/share/doc/p7zip-16.02/DOC/Methods.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/copying.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/lzma.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/readme.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/src-history.txt
|
||||
#usr/share/doc/p7zip-16.02/DOC/unRarLicense.txt
|
||||
#usr/share/doc/p7zip-16.02/README
|
||||
#usr/share/man/man1/7z.1
|
||||
#usr/share/man/man1/7za.1
|
||||
#usr/share/man/man1/7zr.1
|
||||
#usr/share/doc/p7zip-17.03
|
||||
#usr/share/doc/p7zip-17.03/ChangeLog
|
||||
#usr/share/doc/p7zip-17.03/DOC
|
||||
#usr/share/doc/p7zip-17.03/DOC/7zC.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/7zFormat.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/License.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/7-zip.chm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/add.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/bench.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/delete.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/extract.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/extract_full.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/hash.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/index.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/list.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/rename.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/test.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/commands/update.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/exit_codes.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/index.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ar_exclude.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ar_include.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ar_no.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/bb.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/bs.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/charset.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/exclude.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/include.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/index.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/large_pages.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/list_tech.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/method.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/output_dir.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/overwrite.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/password.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/recurse.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sa.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/scc.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/scrc.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sdel.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sfx.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/shared.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sni.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/sns.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/spf.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/ssc.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stdin.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stdout.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stl.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stop_switch.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/stx.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/type.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/update.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/volume.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/working_dir.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/switches/yes.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/cmdline/syntax.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/about.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/benchmark.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/index.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/menu.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/options.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/add.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/extract.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/index.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/7-zip/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/index.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/plugins/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/fm/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/7z.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/faq.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/formats.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/index.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/license.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/performance.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/general/thanks.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/start.htm
|
||||
#usr/share/doc/p7zip-17.03/DOC/MANUAL/style.css
|
||||
#usr/share/doc/p7zip-17.03/DOC/Methods.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/Struct.EAP
|
||||
#usr/share/doc/p7zip-17.03/DOC/Struct.ldb
|
||||
#usr/share/doc/p7zip-17.03/DOC/copying.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/lzma.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/readme.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/src-history.txt
|
||||
#usr/share/doc/p7zip-17.03/DOC/unRarLicense.txt
|
||||
#usr/share/doc/p7zip-17.03/README
|
||||
#usr/share/man/man1/7z.1.gz
|
||||
#usr/share/man/man1/7za.1.gz
|
||||
#usr/share/man/man1/7zr.1.gz
|
||||
15
lfs/7zip
15
lfs/7zip
@@ -24,15 +24,15 @@
|
||||
|
||||
include Config
|
||||
|
||||
VER = 16.02
|
||||
VER = 17.03
|
||||
|
||||
THISAPP = p7zip_$(VER)
|
||||
DL_FILE = $(THISAPP)_src_all.tar.bz2
|
||||
DL_FROM = $(URL_IPFIRE)
|
||||
THISAPP = p7zip-$(VER)
|
||||
DL_FILE = $(THISAPP).tar.gz
|
||||
DL_FROM = https://github.com/jinfeihan57/p7zip/archive/v$(VER)/
|
||||
DIR_APP = $(DIR_SRC)/$(THISAPP)
|
||||
TARGET = $(DIR_INFO)/$(THISAPP)
|
||||
PROG = 7zip
|
||||
PAK_VER = 7
|
||||
PAK_VER = 8
|
||||
|
||||
DEPS =
|
||||
|
||||
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
|
||||
|
||||
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
|
||||
|
||||
$(DL_FILE)_MD5 = a0128d661cfe7cc8c121e73519c54fbf
|
||||
$(DL_FILE)_MD5 = fd7e6b082db89edfc047c1ce2d810850
|
||||
|
||||
install : $(TARGET)
|
||||
|
||||
@@ -78,8 +78,7 @@ dist:
|
||||
|
||||
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
|
||||
@$(PREBUILD)
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar jxf $(DIR_DL)/$(DL_FILE)
|
||||
cd $(DIR_APP) && cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/p7zip-16.02-consolidated_fixes-1.patch
|
||||
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
|
||||
cd $(DIR_APP) && make all3 $(MAKETUNING)
|
||||
cd $(DIR_APP) && make DEST_HOME=/usr DEST_MAN=/usr/share/man \
|
||||
DEST_SHARE_DOC=/usr/share/doc/p7zip-$(VER) install
|
||||
|
||||
@@ -1,466 +0,0 @@
|
||||
Submitted By: Bruce Dubbs <bdubbs@linuxfromscratch.org>
|
||||
Date: 2020-05-12
|
||||
Initial Package Version: 16.02
|
||||
Upstream Status: Unknown.
|
||||
Origin: Arch and Fedora
|
||||
Description: Updates for CVE-2016-9296, CVE-2017-17969, CVE-2018-5996,
|
||||
CVE-2018-10115 and GCC10.
|
||||
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Archive/7z/7zIn.cpp p7zip_16.02/CPP/7zip/Archive/7z/7zIn.cpp
|
||||
--- p7zip_16.02.orig/CPP/7zip/Archive/7z/7zIn.cpp 2016-05-20 03:20:03.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Archive/7z/7zIn.cpp 2020-05-12 15:34:34.513287566 -0500
|
||||
@@ -1097,7 +1097,8 @@
|
||||
if (CrcCalc(data, unpackSize) != folders.FolderCRCs.Vals[i])
|
||||
ThrowIncorrect();
|
||||
}
|
||||
- HeadersSize += folders.PackPositions[folders.NumPackStreams];
|
||||
+ if (folders.PackPositions)
|
||||
+ HeadersSize += folders.PackPositions[folders.NumPackStreams];
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.cpp
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.cpp 2015-09-01 13:04:52.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.cpp 2020-05-12 15:35:00.897548643 -0500
|
||||
@@ -29,7 +29,7 @@
|
||||
};
|
||||
*/
|
||||
|
||||
-CDecoder::CDecoder(): m_IsSolid(false) { }
|
||||
+CDecoder::CDecoder(): _isSolid(false), _solidAllowed(false), _errorMode(false) { }
|
||||
|
||||
void CDecoder::InitStructures()
|
||||
{
|
||||
@@ -345,7 +345,7 @@
|
||||
|
||||
void CDecoder::InitData()
|
||||
{
|
||||
- if (!m_IsSolid)
|
||||
+ if (!_isSolid)
|
||||
{
|
||||
AvrPlcB = AvrLn1 = AvrLn2 = AvrLn3 = NumHuf = Buf60 = 0;
|
||||
AvrPlc = 0x3500;
|
||||
@@ -391,6 +391,11 @@
|
||||
if (inSize == NULL || outSize == NULL)
|
||||
return E_INVALIDARG;
|
||||
|
||||
+ if (_isSolid && !_solidAllowed)
|
||||
+ return S_FALSE;
|
||||
+
|
||||
+ _solidAllowed = false;
|
||||
+
|
||||
if (!m_OutWindowStream.Create(kHistorySize))
|
||||
return E_OUTOFMEMORY;
|
||||
if (!m_InBitStream.Create(1 << 20))
|
||||
@@ -398,17 +403,22 @@
|
||||
|
||||
m_UnpackSize = (Int64)*outSize;
|
||||
m_OutWindowStream.SetStream(outStream);
|
||||
- m_OutWindowStream.Init(m_IsSolid);
|
||||
+ m_OutWindowStream.Init(_isSolid);
|
||||
m_InBitStream.SetStream(inStream);
|
||||
m_InBitStream.Init();
|
||||
|
||||
// CCoderReleaser coderReleaser(this);
|
||||
InitData();
|
||||
- if (!m_IsSolid)
|
||||
+ if (!_isSolid)
|
||||
{
|
||||
+ _errorMode = false;
|
||||
InitStructures();
|
||||
InitHuff();
|
||||
}
|
||||
+
|
||||
+ if (_errorMode)
|
||||
+ return S_FALSE;
|
||||
+
|
||||
if (m_UnpackSize > 0)
|
||||
{
|
||||
GetFlagsBuf();
|
||||
@@ -470,6 +480,7 @@
|
||||
}
|
||||
if (m_UnpackSize < 0)
|
||||
return S_FALSE;
|
||||
+ _solidAllowed = true;
|
||||
return m_OutWindowStream.Flush();
|
||||
}
|
||||
|
||||
@@ -477,16 +488,16 @@
|
||||
const UInt64 *inSize, const UInt64 *outSize, ICompressProgressInfo *progress)
|
||||
{
|
||||
try { return CodeReal(inStream, outStream, inSize, outSize, progress); }
|
||||
- catch(const CInBufferException &e) { return e.ErrorCode; }
|
||||
- catch(const CLzOutWindowException &e) { return e.ErrorCode; }
|
||||
- catch(...) { return S_FALSE; }
|
||||
+ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; }
|
||||
+ catch(const CLzOutWindowException &e) { _errorMode = true; return e.ErrorCode; }
|
||||
+ catch(...) { _errorMode = true; return S_FALSE; }
|
||||
}
|
||||
|
||||
STDMETHODIMP CDecoder::SetDecoderProperties2(const Byte *data, UInt32 size)
|
||||
{
|
||||
if (size < 1)
|
||||
return E_INVALIDARG;
|
||||
- m_IsSolid = ((data[0] & 1) != 0);
|
||||
+ _isSolid = ((data[0] & 1) != 0);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.h
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar1Decoder.h 2014-12-21 06:44:00.000000000 -0600
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar1Decoder.h 2020-05-12 15:35:00.897548643 -0500
|
||||
@@ -38,7 +38,9 @@
|
||||
UInt32 LastLength;
|
||||
|
||||
Int64 m_UnpackSize;
|
||||
- bool m_IsSolid;
|
||||
+ bool _isSolid;
|
||||
+ bool _solidAllowed;
|
||||
+ bool _errorMode;
|
||||
|
||||
UInt32 ReadBits(int numBits);
|
||||
HRESULT CopyBlock(UInt32 distance, UInt32 len);
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.cpp
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.cpp 2015-10-03 03:49:14.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.cpp 2020-05-12 15:35:00.897548643 -0500
|
||||
@@ -80,7 +80,9 @@
|
||||
static const UInt32 kWindowReservSize = (1 << 22) + 256;
|
||||
|
||||
CDecoder::CDecoder():
|
||||
- m_IsSolid(false)
|
||||
+ _isSolid(false),
|
||||
+ _solidAllowed(false),
|
||||
+ m_TablesOK(false)
|
||||
{
|
||||
}
|
||||
|
||||
@@ -100,6 +102,8 @@
|
||||
|
||||
bool CDecoder::ReadTables(void)
|
||||
{
|
||||
+ m_TablesOK = false;
|
||||
+
|
||||
Byte levelLevels[kLevelTableSize];
|
||||
Byte newLevels[kMaxTableSize];
|
||||
m_AudioMode = (ReadBits(1) == 1);
|
||||
@@ -170,6 +174,8 @@
|
||||
}
|
||||
|
||||
memcpy(m_LastLevels, newLevels, kMaxTableSize);
|
||||
+ m_TablesOK = true;
|
||||
+
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -315,6 +321,10 @@
|
||||
if (inSize == NULL || outSize == NULL)
|
||||
return E_INVALIDARG;
|
||||
|
||||
+ if (_isSolid && !_solidAllowed)
|
||||
+ return S_FALSE;
|
||||
+ _solidAllowed = false;
|
||||
+
|
||||
if (!m_OutWindowStream.Create(kHistorySize))
|
||||
return E_OUTOFMEMORY;
|
||||
if (!m_InBitStream.Create(1 << 20))
|
||||
@@ -325,12 +335,12 @@
|
||||
UInt64 pos = 0, unPackSize = *outSize;
|
||||
|
||||
m_OutWindowStream.SetStream(outStream);
|
||||
- m_OutWindowStream.Init(m_IsSolid);
|
||||
+ m_OutWindowStream.Init(_isSolid);
|
||||
m_InBitStream.SetStream(inStream);
|
||||
m_InBitStream.Init();
|
||||
|
||||
// CCoderReleaser coderReleaser(this);
|
||||
- if (!m_IsSolid)
|
||||
+ if (!_isSolid)
|
||||
{
|
||||
InitStructures();
|
||||
if (unPackSize == 0)
|
||||
@@ -338,12 +348,16 @@
|
||||
if (m_InBitStream.GetProcessedSize() + 2 <= m_PackSize) // test it: probably incorrect;
|
||||
if (!ReadTables())
|
||||
return S_FALSE;
|
||||
+ _solidAllowed = true;
|
||||
return S_OK;
|
||||
}
|
||||
if (!ReadTables())
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
+ if (!m_TablesOK)
|
||||
+ return S_FALSE;
|
||||
+
|
||||
UInt64 startPos = m_OutWindowStream.GetProcessedSize();
|
||||
while (pos < unPackSize)
|
||||
{
|
||||
@@ -378,6 +392,9 @@
|
||||
|
||||
if (!ReadLastTables())
|
||||
return S_FALSE;
|
||||
+
|
||||
+ _solidAllowed = true;
|
||||
+
|
||||
return m_OutWindowStream.Flush();
|
||||
}
|
||||
|
||||
@@ -394,7 +411,7 @@
|
||||
{
|
||||
if (size < 1)
|
||||
return E_INVALIDARG;
|
||||
- m_IsSolid = ((data[0] & 1) != 0);
|
||||
+ _isSolid = ((data[0] & 1) != 0);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.h
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar2Decoder.h 2015-06-19 05:52:06.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar2Decoder.h 2020-05-12 15:35:00.898548653 -0500
|
||||
@@ -138,7 +138,9 @@
|
||||
Byte m_LastLevels[kMaxTableSize];
|
||||
|
||||
UInt64 m_PackSize;
|
||||
- bool m_IsSolid;
|
||||
+ bool _isSolid;
|
||||
+ bool _solidAllowed;
|
||||
+ bool m_TablesOK;
|
||||
|
||||
void InitStructures();
|
||||
UInt32 ReadBits(unsigned numBits);
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.cpp
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.cpp 2016-05-20 03:20:03.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.cpp 2020-05-12 15:35:00.898548653 -0500
|
||||
@@ -92,7 +92,9 @@
|
||||
_writtenFileSize(0),
|
||||
_vmData(0),
|
||||
_vmCode(0),
|
||||
- m_IsSolid(false)
|
||||
+ _isSolid(false),
|
||||
+ _solidAllowed(false),
|
||||
+ _errorMode(false)
|
||||
{
|
||||
Ppmd7_Construct(&_ppmd);
|
||||
}
|
||||
@@ -545,6 +547,9 @@
|
||||
return InitPPM();
|
||||
}
|
||||
|
||||
+ TablesRead = false;
|
||||
+ TablesOK = false;
|
||||
+
|
||||
_lzMode = true;
|
||||
PrevAlignBits = 0;
|
||||
PrevAlignCount = 0;
|
||||
@@ -606,6 +611,9 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
+ if (InputEofError())
|
||||
+ return S_FALSE;
|
||||
+
|
||||
TablesRead = true;
|
||||
|
||||
// original code has check here:
|
||||
@@ -623,6 +631,9 @@
|
||||
RIF(m_LenDecoder.Build(&newLevels[kMainTableSize + kDistTableSize + kAlignTableSize]));
|
||||
|
||||
memcpy(m_LastLevels, newLevels, kTablesSizesSum);
|
||||
+
|
||||
+ TablesOK = true;
|
||||
+
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@@ -811,7 +822,7 @@
|
||||
{
|
||||
_writtenFileSize = 0;
|
||||
_unsupportedFilter = false;
|
||||
- if (!m_IsSolid)
|
||||
+ if (!_isSolid)
|
||||
{
|
||||
_lzSize = 0;
|
||||
_winPos = 0;
|
||||
@@ -824,13 +835,21 @@
|
||||
PpmEscChar = 2;
|
||||
PpmError = true;
|
||||
InitFilters();
|
||||
+ _errorMode = false;
|
||||
}
|
||||
- if (!m_IsSolid || !TablesRead)
|
||||
+
|
||||
+ if (_errorMode)
|
||||
+ return S_FALSE;
|
||||
+
|
||||
+ if (!_isSolid || !TablesRead)
|
||||
{
|
||||
bool keepDecompressing;
|
||||
RINOK(ReadTables(keepDecompressing));
|
||||
if (!keepDecompressing)
|
||||
+ {
|
||||
+ _solidAllowed = true;
|
||||
return S_OK;
|
||||
+ }
|
||||
}
|
||||
|
||||
for (;;)
|
||||
@@ -838,6 +857,8 @@
|
||||
bool keepDecompressing;
|
||||
if (_lzMode)
|
||||
{
|
||||
+ if (!TablesOK)
|
||||
+ return S_FALSE;
|
||||
RINOK(DecodeLZ(keepDecompressing))
|
||||
}
|
||||
else
|
||||
@@ -853,6 +874,9 @@
|
||||
if (!keepDecompressing)
|
||||
break;
|
||||
}
|
||||
+
|
||||
+ _solidAllowed = true;
|
||||
+
|
||||
RINOK(WriteBuf());
|
||||
UInt64 packSize = m_InBitStream.BitDecoder.GetProcessedSize();
|
||||
RINOK(progress->SetRatioInfo(&packSize, &_writtenFileSize));
|
||||
@@ -873,6 +897,10 @@
|
||||
if (!inSize)
|
||||
return E_INVALIDARG;
|
||||
|
||||
+ if (_isSolid && !_solidAllowed)
|
||||
+ return S_FALSE;
|
||||
+ _solidAllowed = false;
|
||||
+
|
||||
if (!_vmData)
|
||||
{
|
||||
_vmData = (Byte *)::MidAlloc(kVmDataSizeMax + kVmCodeSizeMax);
|
||||
@@ -901,8 +929,8 @@
|
||||
_unpackSize = outSize ? *outSize : (UInt64)(Int64)-1;
|
||||
return CodeReal(progress);
|
||||
}
|
||||
- catch(const CInBufferException &e) { return e.ErrorCode; }
|
||||
- catch(...) { return S_FALSE; }
|
||||
+ catch(const CInBufferException &e) { _errorMode = true; return e.ErrorCode; }
|
||||
+ catch(...) { _errorMode = true; return S_FALSE; }
|
||||
// CNewException is possible here. But probably CNewException is caused
|
||||
// by error in data stream.
|
||||
}
|
||||
@@ -911,7 +939,7 @@
|
||||
{
|
||||
if (size < 1)
|
||||
return E_INVALIDARG;
|
||||
- m_IsSolid = ((data[0] & 1) != 0);
|
||||
+ _isSolid = ((data[0] & 1) != 0);
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.h
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar3Decoder.h 2015-10-03 03:49:12.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar3Decoder.h 2020-05-12 15:35:00.898548653 -0500
|
||||
@@ -191,7 +191,9 @@
|
||||
CRecordVector<CTempFilter *> _tempFilters;
|
||||
UInt32 _lastFilter;
|
||||
|
||||
- bool m_IsSolid;
|
||||
+ bool _isSolid;
|
||||
+ bool _solidAllowed;
|
||||
+ bool _errorMode;
|
||||
|
||||
bool _lzMode;
|
||||
bool _unsupportedFilter;
|
||||
@@ -200,6 +202,7 @@
|
||||
UInt32 PrevAlignCount;
|
||||
|
||||
bool TablesRead;
|
||||
+ bool TablesOK;
|
||||
|
||||
CPpmd7 _ppmd;
|
||||
int PpmEscChar;
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.cpp p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.cpp
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.cpp 2016-05-20 03:20:04.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.cpp 2020-05-12 15:35:00.899548663 -0500
|
||||
@@ -72,6 +72,7 @@
|
||||
_writtenFileSize(0),
|
||||
_dictSizeLog(0),
|
||||
_isSolid(false),
|
||||
+ _solidAllowed(false),
|
||||
_wasInit(false),
|
||||
_inputBuf(NULL)
|
||||
{
|
||||
@@ -801,7 +802,10 @@
|
||||
*/
|
||||
|
||||
if (res == S_OK)
|
||||
+ {
|
||||
+ _solidAllowed = true;
|
||||
res = res2;
|
||||
+ }
|
||||
|
||||
if (res == S_OK && _unpackSize_Defined && _writtenFileSize != _unpackSize)
|
||||
return S_FALSE;
|
||||
@@ -821,6 +825,10 @@
|
||||
{
|
||||
try
|
||||
{
|
||||
+ if (_isSolid && !_solidAllowed)
|
||||
+ return S_FALSE;
|
||||
+ _solidAllowed = false;
|
||||
+
|
||||
if (_dictSizeLog >= sizeof(size_t) * 8)
|
||||
return E_NOTIMPL;
|
||||
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.h p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.h
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/Rar5Decoder.h 2015-09-01 13:04:50.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/Rar5Decoder.h 2020-05-12 15:35:00.899548663 -0500
|
||||
@@ -271,6 +271,7 @@
|
||||
Byte _dictSizeLog;
|
||||
bool _tableWasFilled;
|
||||
bool _isSolid;
|
||||
+ bool _solidAllowed;
|
||||
bool _wasInit;
|
||||
|
||||
UInt32 _reps[kNumReps];
|
||||
diff -Naur p7zip_16.02.orig/CPP/7zip/Compress/ShrinkDecoder.cpp p7zip_16.02/CPP/7zip/Compress/ShrinkDecoder.cpp
|
||||
--- p7zip_16.02.orig/CPP/7zip/Compress/ShrinkDecoder.cpp 2016-05-18 12:31:02.000000000 -0500
|
||||
+++ p7zip_16.02/CPP/7zip/Compress/ShrinkDecoder.cpp 2020-05-12 15:34:45.120392530 -0500
|
||||
@@ -121,7 +121,12 @@
|
||||
{
|
||||
_stack[i++] = _suffixes[cur];
|
||||
cur = _parents[cur];
|
||||
+ if (cur >= kNumItems || i >= kNumItems)
|
||||
+ break;
|
||||
}
|
||||
+
|
||||
+ if (cur >= kNumItems || i >= kNumItems)
|
||||
+ break;
|
||||
|
||||
_stack[i++] = (Byte)cur;
|
||||
lastChar2 = (Byte)cur;
|
||||
diff -Naur p7zip_16.02.orig/CPP/Windows/ErrorMsg.cpp p7zip_16.02/CPP/Windows/ErrorMsg.cpp
|
||||
--- p7zip_16.02.orig/CPP/Windows/ErrorMsg.cpp 2015-01-18 12:20:28.000000000 -0600
|
||||
+++ p7zip_16.02/CPP/Windows/ErrorMsg.cpp 2020-05-12 15:37:52.688247586 -0500
|
||||
@@ -14,15 +14,15 @@
|
||||
AString msg;
|
||||
|
||||
switch(errorCode) {
|
||||
- case ERROR_NO_MORE_FILES : txt = "No more files"; break ;
|
||||
- case E_NOTIMPL : txt = "E_NOTIMPL"; break ;
|
||||
- case E_NOINTERFACE : txt = "E_NOINTERFACE"; break ;
|
||||
- case E_ABORT : txt = "E_ABORT"; break ;
|
||||
- case E_FAIL : txt = "E_FAIL"; break ;
|
||||
- case STG_E_INVALIDFUNCTION : txt = "STG_E_INVALIDFUNCTION"; break ;
|
||||
- case E_OUTOFMEMORY : txt = "E_OUTOFMEMORY"; break ;
|
||||
- case E_INVALIDARG : txt = "E_INVALIDARG"; break ;
|
||||
- case ERROR_DIRECTORY : txt = "Error Directory"; break ;
|
||||
+ case unsigned (ERROR_NO_MORE_FILES) : txt = "No more files"; break ;
|
||||
+ case unsigned (E_NOTIMPL) : txt = "E_NOTIMPL"; break ;
|
||||
+ case unsigned (E_NOINTERFACE) : txt = "E_NOINTERFACE"; break ;
|
||||
+ case unsigned (E_ABORT) : txt = "E_ABORT"; break ;
|
||||
+ case unsigned (E_FAIL) : txt = "E_FAIL"; break ;
|
||||
+ case unsigned (STG_E_INVALIDFUNCTION) : txt = "STG_E_INVALIDFUNCTION"; break ;
|
||||
+ case unsigned (E_OUTOFMEMORY) : txt = "E_OUTOFMEMORY"; break ;
|
||||
+ case unsigned (E_INVALIDARG) : txt = "E_INVALIDARG"; break ;
|
||||
+ case ERROR_DIRECTORY : txt = "Error Directory"; break ;
|
||||
default:
|
||||
txt = strerror(errorCode);
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
Index: p7zip_15.14.1/CPP/7zip/Archive/HfsHandler.cpp
|
||||
===================================================================
|
||||
--- p7zip_15.14.1.orig/CPP/7zip/Archive/HfsHandler.cpp
|
||||
+++ p7zip_15.14.1/CPP/7zip/Archive/HfsHandler.cpp
|
||||
@@ -987,7 +987,9 @@ HRESULT CDatabase::LoadCatalog(const CFo
|
||||
item.GroupID = Get32(r + 0x24);
|
||||
item.AdminFlags = r[0x28];
|
||||
item.OwnerFlags = r[0x29];
|
||||
+ */
|
||||
item.FileMode = Get16(r + 0x2A);
|
||||
+ /*
|
||||
item.special.iNodeNum = Get16(r + 0x2C); // or .linkCount
|
||||
item.FileType = Get32(r + 0x30);
|
||||
item.FileCreator = Get32(r + 0x34);
|
||||
@@ -1572,6 +1574,9 @@ HRESULT CHandler::ExtractZlibFile(
|
||||
|
||||
UInt32 size = GetUi32(tableBuf + i * 8 + 4);
|
||||
|
||||
+ if (size > buf.Size() || size > kCompressionBlockSize + 1)
|
||||
+ return S_FALSE;
|
||||
+
|
||||
RINOK(ReadStream_FALSE(inStream, buf, size));
|
||||
|
||||
if ((buf[0] & 0xF) == 0xF)
|
||||
@@ -1,17 +0,0 @@
|
||||
Index: p7zip_15.14.1/CPP/7zip/Archive/Udf/UdfIn.cpp
|
||||
===================================================================
|
||||
--- p7zip_15.14.1.orig/CPP/7zip/Archive/Udf/UdfIn.cpp
|
||||
+++ p7zip_15.14.1/CPP/7zip/Archive/Udf/UdfIn.cpp
|
||||
@@ -389,7 +389,11 @@ HRESULT CInArchive::ReadFileItem(int vol
|
||||
return S_FALSE;
|
||||
CFile &file = Files.Back();
|
||||
const CLogVol &vol = LogVols[volIndex];
|
||||
- CPartition &partition = Partitions[vol.PartitionMaps[lad.Location.PartitionRef].PartitionIndex];
|
||||
+ unsigned partitionRef = lad.Location.PartitionRef;
|
||||
+
|
||||
+ if (partitionRef >= vol.PartitionMaps.Size())
|
||||
+ return S_FALSE;
|
||||
+ CPartition &partition = Partitions[vol.PartitionMaps[partitionRef].PartitionIndex];
|
||||
|
||||
UInt32 key = lad.Location.Pos;
|
||||
UInt32 value;
|
||||
Reference in New Issue
Block a user