diff options
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-extended/p7zip')
5 files changed, 78 insertions, 9 deletions
diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch index ae2751745..1f08d1603 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/0001-Fix-narrowing-errors-Wc-11-narrowing.patch @@ -1,4 +1,4 @@ -From b6b1782af4aa7f9084d32e4144738dc2535c8d6f Mon Sep 17 00:00:00 2001 +From 653674e11872465dd5edf1c1e8413ea813d7e086 Mon Sep 17 00:00:00 2001 From: Khem Raj <raj.khem@gmail.com> Date: Mon, 23 Apr 2018 23:07:21 -0700 Subject: [PATCH] Fix narrowing errors -Wc++11-narrowing @@ -17,6 +17,7 @@ also reported here https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=224930 Upstream-Status: Pending Signed-off-by: Khem Raj <raj.khem@gmail.com> + --- CPP/Windows/ErrorMsg.cpp | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch index 177d1455f..9ba107807 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/CVE-2017-17969.patch @@ -1,4 +1,7 @@ -p7zip: Fix CVE-2017-17969 +From 7f2da4f810b429ddb7afa0e252e3d02ced0eba87 Mon Sep 17 00:00:00 2001 +From: Radovan Scasny <radovan.scasny@siemens.com> +Date: Tue, 20 Feb 2018 12:08:13 +0100 +Subject: [PATCH] p7zip: Fix CVE-2017-17969 [No upstream tracking] -- https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=888297 @@ -8,12 +11,18 @@ Compress/ShrinkDecoder.cpp: Heap-based buffer overflow in the NCompress::NShrink::CDecoder::CodeReal method in 7-Zip before 18.00 and p7zip allows remote attackers to cause a denial of service (out-of-bounds write) -or potentially execute arbitrary code via a crafted ZIP archive. +or potentially execute arbitrary code via a crafted ZIP archive. Upstream-Status: Backport [https://sourceforge.net/p/p7zip/bugs/_discuss/thread/0920f369/8316/attachment/CVE-2017-17969.patch] CVE: CVE-2017-17969 Signed-off-by: Radovan Scasny <radovan.scasny@siemens.com> +--- + CPP/7zip/Compress/ShrinkDecoder.cpp | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/CPP/7zip/Compress/ShrinkDecoder.cpp b/CPP/7zip/Compress/ShrinkDecoder.cpp +index 80b7e67..5bb0559 100644 --- a/CPP/7zip/Compress/ShrinkDecoder.cpp +++ b/CPP/7zip/Compress/ShrinkDecoder.cpp @@ -121,7 +121,12 @@ HRESULT CDecoder::CodeReal(ISequentialInStream *inStream, ISequentialOutStream * diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch new file mode 100644 index 000000000..93eb0588c --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/change_numMethods_from_bool_to_unsigned.patch @@ -0,0 +1,34 @@ +From 0820ef4b9238c1e39ae5bda32cc08cce3fd3ce89 Mon Sep 17 00:00:00 2001 +From: Nisha Parrakat <Nisha.Parrakat@kpit.com> +Date: Wed, 26 May 2021 19:59:28 +0000 +Subject: [PATCH] fixes the below error + +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp: In member function 'virtual LONG NArchive::NWim::CHandler::GetArchiveProperty(PROPID, PROPVARIANT*)': +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:308:11: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17 +| 308 | numMethods++; +| | ^~~~~~~~~~ +| ../../../../CPP/7zip/Archive/Wim/WimHandler.cpp:318:9: error: use of an operand of type 'bool' in 'operator++' is forbidden in C++17 +| 318 | numMethods++; + +use unsigned instead of bool +Signed-off-by: Nisha Parrakat <Nisha.Parrakat@kpit.com> + +Upstream-Status: Pending + +--- + CPP/7zip/Archive/Wim/WimHandler.cpp | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/CPP/7zip/Archive/Wim/WimHandler.cpp b/CPP/7zip/Archive/Wim/WimHandler.cpp +index 27d3298..4ff5cfe 100644 +--- a/CPP/7zip/Archive/Wim/WimHandler.cpp ++++ b/CPP/7zip/Archive/Wim/WimHandler.cpp +@@ -298,7 +298,7 @@ STDMETHODIMP CHandler::GetArchiveProperty(PROPID propID, PROPVARIANT *value) + + AString res; + +- bool numMethods = 0; ++ unsigned numMethods = 0; + for (unsigned i = 0; i < ARRAY_SIZE(k_Methods); i++) + { + if (methodMask & ((UInt32)1 << i)) diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch index b0a560fe9..2636e7f6f 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/files/do_not_override_compiler_and_do_not_strip.patch @@ -1,4 +1,7 @@ -do not override compiler and do not strip +From b2aa209dfc5e59d6329b55b9764782334b63dbe8 Mon Sep 17 00:00:00 2001 +From: Raphael Freudiger <raphael.freudiger@siemens.com> +Date: Wed, 11 Feb 2015 09:11:47 +0100 +Subject: [PATCH] do not override compiler and do not strip The default makefile sets the compiler to g++ or gcc. This leads to a wrong architecture when cross-compiling. Remove the hardcoded compiler and just append the flags to CXX and CC. @@ -7,9 +10,14 @@ Upstream-Status: Pending Signed-off-by: Raphael Freudiger <raphael.freudiger@siemens.com> Reviewed-By: Pascal Bach <pascal.bach@siemens.com> -diff -Nurp p7zip_15.14.1_orig/makefile.machine p7zip_15.14.1/makefile.machine ---- p7zip_15.14.1_orig/makefile.machine 2016-03-23 20:37:47.000000000 +0100 -+++ p7zip_15.14.1/makefile.machine 2016-06-17 15:33:39.720454477 +0200 +--- + makefile.machine | 4 +--- + 1 file changed, 1 insertion(+), 3 deletions(-) + +diff --git a/makefile.machine b/makefile.machine +index 9e34c34..e9244d9 100644 +--- a/makefile.machine ++++ b/makefile.machine @@ -2,7 +2,7 @@ # makefile for Linux (x86, PPC, alpha ...) # diff --git a/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb b/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb index 13479a90f..ada49114c 100644 --- a/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb +++ b/meta-openembedded/meta-oe/recipes-extended/p7zip/p7zip_16.02.bb @@ -9,6 +9,7 @@ SRC_URI = "http://downloads.sourceforge.net/p7zip/p7zip/${PV}/p7zip_${PV}_src_al file://do_not_override_compiler_and_do_not_strip.patch \ file://CVE-2017-17969.patch \ file://0001-Fix-narrowing-errors-Wc-11-narrowing.patch \ + file://change_numMethods_from_bool_to_unsigned.patch \ " SRC_URI[md5sum] = "a0128d661cfe7cc8c121e73519c54fbf" @@ -16,10 +17,26 @@ SRC_URI[sha256sum] = "5eb20ac0e2944f6cb9c2d51dd6c4518941c185347d4089ea89087ffdd6 S = "${WORKDIR}/${BPN}_${PV}" +do_compile_append() { + oe_runmake 7z +} +FILES_${PN} += "${libdir}/* ${bindir}/7z" + +FILES_SOLIBSDEV = "" +INSANE_SKIP_${PN} += "dev-so" + do_install() { install -d ${D}${bindir} - install -m 0755 ${S}/bin/* ${D}${bindir} + install -d ${D}${bindir}/Codecs + install -d ${D}${libdir} + install -d ${D}${libdir}/Codecs + install -m 0755 ${S}/bin/7za ${D}${bindir} ln -s 7za ${D}${bindir}/7z + install -m 0755 ${S}/bin/Codecs/* ${D}${libdir}/Codecs/ + install -m 0755 ${S}/bin/7z.so ${D}${libdir}/lib7z.so } -BBCLASSEXTEND = "native" +RPROVIDES_${PN} += "lib7z.so()(64bit) 7z lib7z.so" +RPROVIDES_${PN}-dev += "lib7z.so()(64bit) 7z lib7z.so" + +BBCLASSEXTEND = "native nativesdk" |