Compare commits
No commits in common. "c8" and "c10s-gating" have entirely different histories.
c8
...
c10s-gatin
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
||||||
29
.gitignore
vendored
29
.gitignore
vendored
@ -1 +1,28 @@
|
|||||||
SOURCES/lz4-1.8.3.tar.gz
|
/lz4-r106.tar.gz
|
||||||
|
/lz4-r107.tar.gz
|
||||||
|
/lz4-r108.tar.gz
|
||||||
|
/lz4-r110.tar.gz
|
||||||
|
/lz4-r116.tar.gz
|
||||||
|
/lz4-r117.tar.gz
|
||||||
|
/lz4-r118.tar.gz
|
||||||
|
/lz4-r119.tar.gz
|
||||||
|
/lz4-r121.tar.gz
|
||||||
|
/lz4-r122.tar.gz
|
||||||
|
/lz4-r123.tar.gz
|
||||||
|
/lz4-ca353cfe6e6ed078501774f0a25d2eb8190036c9.tar.gz
|
||||||
|
/lz4-e25b51de7b51101e04ceea194dd557fcc23c03ca.tar.gz
|
||||||
|
/lz4-r128.tar.gz
|
||||||
|
/lz4-160661c7a4cbf805f4af74d2e3932a17a66e6ce7.tar.gz
|
||||||
|
/lz4-7d182b816ace89d6d6d16b7aee376a9962a05caa.tar.gz
|
||||||
|
/lz4-baf78e7e4dcbdf824a76f990ffeb573d113bbbdb.tar.gz
|
||||||
|
/lz4-d86dc916771c126afb797637dda9f6421c0cb998.tar.gz
|
||||||
|
/lz4-1.7.3.tar.gz
|
||||||
|
/lz4-1.7.4.2.tar.gz
|
||||||
|
/lz4-1.7.5.tar.gz
|
||||||
|
/lz4-1.8.0.tar.gz
|
||||||
|
/lz4-1.8.1.2.tar.gz
|
||||||
|
/lz4-1.8.2.tar.gz
|
||||||
|
/lz4-1.8.3.tar.gz
|
||||||
|
/lz4-1.9.1.tar.gz
|
||||||
|
/lz4-1.9.3.tar.gz
|
||||||
|
/lz4-1.9.4.tar.gz
|
||||||
|
|||||||
@ -1 +0,0 @@
|
|||||||
070867abcd93a7245b80ec6fc2ced27c6b8e3e0c SOURCES/lz4-1.8.3.tar.gz
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
From 690009e2c2f9e5dcb0d40e7c0c40610ce6006eda Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nick Terrell <terrelln@fb.com>
|
|
||||||
Date: Wed, 17 Jul 2019 11:07:24 -0700
|
|
||||||
Subject: [PATCH] [LZ4_compress_destSize] Allow 2 more bytes of match length
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/lz4.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/lib/lz4.c b/lib/lz4.c
|
|
||||||
index 5b03e3d08..1e80c9812 100644
|
|
||||||
--- a/lib/lz4.c
|
|
||||||
+++ b/lib/lz4.c
|
|
||||||
@@ -1016,7 +1016,7 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
|
||||||
return 0;
|
|
||||||
if (outputLimited == fillOutput) {
|
|
||||||
/* Match description too long : reduce it */
|
|
||||||
- U32 newMatchCode = 15 /* in token */ - 1 /* to avoid needing a zero byte */ + ((U32)(olimit - op) - 2 - 1 - LASTLITERALS) * 255;
|
|
||||||
+ U32 newMatchCode = 15 /* in token */ - 1 /* to avoid needing a zero byte */ + ((U32)(olimit - op) - 1 - LASTLITERALS) * 255;
|
|
||||||
ip -= matchCode - newMatchCode;
|
|
||||||
matchCode = newMatchCode;
|
|
||||||
}
|
|
||||||
@ -1,79 +0,0 @@
|
|||||||
From 6bc6f836a18d1f8fd05c8fc2b42f1d800bc25de1 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nick Terrell <terrelln@fb.com>
|
|
||||||
Date: Wed, 17 Jul 2019 11:28:38 -0700
|
|
||||||
Subject: [PATCH] [LZ4_compress_destSize] Fix rare data corruption bug
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/lz4.c | 30 ++++++++++++++++++++++++++++++
|
|
||||||
1 file changed, 30 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/lib/lz4.c b/lib/lz4.c
|
|
||||||
index 1e80c9812..461644da0 100644
|
|
||||||
--- a/lib/lz4.c
|
|
||||||
+++ b/lib/lz4.c
|
|
||||||
@@ -648,6 +648,18 @@ LZ4_FORCE_INLINE U32 LZ4_hashPosition(const void* const p, tableType_t const tab
|
|
||||||
return LZ4_hash4(LZ4_read32(p), tableType);
|
|
||||||
}
|
|
||||||
|
|
||||||
+static void LZ4_clearHash(U32 h, void* tableBase, tableType_t const tableType)
|
|
||||||
+{
|
|
||||||
+ switch (tableType)
|
|
||||||
+ {
|
|
||||||
+ default: /* fallthrough */
|
|
||||||
+ case clearedTable: { /* illegal! */ assert(0); return; }
|
|
||||||
+ case byPtr: { const BYTE** hashTable = (const BYTE**)tableBase; hashTable[h] = NULL; return; }
|
|
||||||
+ case byU32: { U32* hashTable = (U32*) tableBase; hashTable[h] = 0; return; }
|
|
||||||
+ case byU16: { U16* hashTable = (U16*) tableBase; hashTable[h] = 0; return; }
|
|
||||||
+ }
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
static void LZ4_putIndexOnHash(U32 idx, U32 h, void* tableBase, tableType_t const tableType)
|
|
||||||
{
|
|
||||||
switch (tableType)
|
|
||||||
@@ -848,6 +860,7 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
|
||||||
for ( ; ; ) {
|
|
||||||
const BYTE* match;
|
|
||||||
BYTE* token;
|
|
||||||
+ const BYTE* filledIp;
|
|
||||||
|
|
||||||
/* Find a match */
|
|
||||||
if (tableType == byPtr) {
|
|
||||||
@@ -934,6 +947,7 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Catch up */
|
|
||||||
+ filledIp = ip;
|
|
||||||
while (((ip>anchor) & (match > lowLimit)) && (unlikely(ip[-1]==match[-1]))) { ip--; match--; }
|
|
||||||
|
|
||||||
/* Encode Literals */
|
|
||||||
@@ -1018,7 +1032,21 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
|
||||||
/* Match description too long : reduce it */
|
|
||||||
U32 newMatchCode = 15 /* in token */ - 1 /* to avoid needing a zero byte */ + ((U32)(olimit - op) - 1 - LASTLITERALS) * 255;
|
|
||||||
ip -= matchCode - newMatchCode;
|
|
||||||
+ assert(newMatchCode < matchCode);
|
|
||||||
matchCode = newMatchCode;
|
|
||||||
+ if (unlikely(ip < filledIp)) {
|
|
||||||
+ /* We have already filled up to filledIp so if ip ends up less than filledIp
|
|
||||||
+ * we have positions in the hash table beyond the current position. This is
|
|
||||||
+ * a problem if we reuse the hash table. So we have to remove these positions
|
|
||||||
+ * from the hash table.
|
|
||||||
+ */
|
|
||||||
+ const BYTE* ptr;
|
|
||||||
+ DEBUGLOG(5, "Clearing %u positions", (U32)(filledIp - ip));
|
|
||||||
+ for (ptr = ip; ptr <= filledIp; ++ptr) {
|
|
||||||
+ U32 const h = LZ4_hashPosition(ptr, tableType);
|
|
||||||
+ LZ4_clearHash(h, cctx->hashTable, tableType);
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (matchCode >= ML_MASK) {
|
|
||||||
@@ -1038,6 +1066,8 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
|
||||||
} else
|
|
||||||
*token += (BYTE)(matchCode);
|
|
||||||
}
|
|
||||||
+ /* Ensure we have enough space for the last literals. */
|
|
||||||
+ assert(!(outputLimited == fillOutput && op + 1 + LASTLITERALS > olimit));
|
|
||||||
|
|
||||||
anchor = ip;
|
|
||||||
|
|
||||||
@ -1,22 +0,0 @@
|
|||||||
From 13a2d9e34ffc4170720ce417c73e396d0ac1471a Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nick Terrell <terrelln@fb.com>
|
|
||||||
Date: Wed, 17 Jul 2019 11:50:47 -0700
|
|
||||||
Subject: [PATCH] [LZ4_compress_destSize] Fix overflow condition
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/lz4.c | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/lib/lz4.c b/lib/lz4.c
|
|
||||||
index 461644da0..74a9247ec 100644
|
|
||||||
--- a/lib/lz4.c
|
|
||||||
+++ b/lib/lz4.c
|
|
||||||
@@ -1027,7 +1027,7 @@ LZ4_FORCE_INLINE int LZ4_compress_generic(
|
|
||||||
}
|
|
||||||
|
|
||||||
if ((outputLimited) && /* Check output buffer overflow */
|
|
||||||
- (unlikely(op + (1 + LASTLITERALS) + (matchCode>>8) > olimit)) ) {
|
|
||||||
+ (unlikely(op + (1 + LASTLITERALS) + (matchCode+240)/255 > olimit)) ) {
|
|
||||||
if (outputLimited == limitedOutput)
|
|
||||||
return 0;
|
|
||||||
if (outputLimited == fillOutput) {
|
|
||||||
@ -1,24 +0,0 @@
|
|||||||
From 97f58e5fe5ff44fc9f7c86f6f67a11223379e640 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Jakub Martisko <jamartis@redhat.com>
|
|
||||||
Date: Fri, 7 May 2021 13:08:24 +0200
|
|
||||||
Subject: [PATCH] Fix: cve-2021-3520
|
|
||||||
|
|
||||||
---
|
|
||||||
lib/lz4.c | 1 +
|
|
||||||
1 file changed, 1 insertion(+)
|
|
||||||
|
|
||||||
diff --git a/lib/lz4.c b/lib/lz4.c
|
|
||||||
index 4046102..c18c1f6 100644
|
|
||||||
--- a/lib/lz4.c
|
|
||||||
+++ b/lib/lz4.c
|
|
||||||
@@ -1437,6 +1437,7 @@ LZ4_decompress_generic(
|
|
||||||
/* Special cases */
|
|
||||||
assert(lowPrefix <= op);
|
|
||||||
assert(src != NULL);
|
|
||||||
+ if (outputSize < 0) {return -1;};
|
|
||||||
if ((endOnInput) && (unlikely(outputSize==0))) return ((srcSize==1) && (*ip==0)) ? 0 : -1; /* Empty output buffer */
|
|
||||||
if ((!endOnInput) && (unlikely(outputSize==0))) return (*ip==0 ? 1 : -1);
|
|
||||||
if ((endOnInput) && unlikely(srcSize==0)) return -1;
|
|
||||||
--
|
|
||||||
2.30.1
|
|
||||||
|
|
||||||
2
ci.fmf
Normal file
2
ci.fmf
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
# Docs: https://docs.fedoraproject.org/en-US/ci/tmt/#_multiple_plans
|
||||||
|
resultsdb-testcase: separate
|
||||||
6
gating.yaml
Normal file
6
gating.yaml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-*
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}
|
||||||
@ -1,18 +1,19 @@
|
|||||||
|
%global _vpath_srcdir contrib/meson
|
||||||
|
|
||||||
Name: lz4
|
Name: lz4
|
||||||
Version: 1.8.3
|
Version: 1.9.4
|
||||||
Release: 5%{?dist}
|
Release: 7%{?dist}
|
||||||
Summary: Extremely fast compression algorithm
|
Summary: Extremely fast compression algorithm
|
||||||
|
|
||||||
License: GPLv2+ and BSD
|
License: GPL-2.0-or-later AND BSD-2-Clause
|
||||||
URL: https://lz4.github.io/lz4/
|
URL: https://lz4.github.io/lz4/
|
||||||
Source0: https://github.com/Cyan4973/lz4/archive/v%{version}/%{name}-%{version}.tar.gz
|
Source0: https://github.com/lz4/lz4/archive/v%{version}/%{name}-%{version}.tar.gz
|
||||||
|
|
||||||
Obsoletes: %{name} < 1.7.5-3
|
Obsoletes: %{name} < 1.7.5-3
|
||||||
|
|
||||||
Patch1: lz4-cve-2021-3520.patch
|
BuildRequires: make
|
||||||
Patch2: cve-2019-17543-part1.patch
|
BuildRequires: gcc
|
||||||
Patch3: cve-2019-17543-part2.patch
|
BuildRequires: meson >= 0.43
|
||||||
Patch4: cve-2019-17543-part3.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
LZ4 is an extremely fast loss-less compression algorithm, providing compression
|
LZ4 is an extremely fast loss-less compression algorithm, providing compression
|
||||||
@ -43,20 +44,17 @@ LZ4 is an extremely fast loss-less compression algorithm. This package
|
|||||||
contains static libraries for static linking of applications.
|
contains static libraries for static linking of applications.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -p1
|
%autosetup
|
||||||
echo '#!/bin/sh' > ./configure
|
|
||||||
chmod +x ./configure
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure
|
%meson \
|
||||||
%make_build
|
-Dprograms=true \
|
||||||
|
-Ddefault_library=both \
|
||||||
|
%{nil}
|
||||||
|
%meson_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%configure
|
%meson_install
|
||||||
# Someone thinks that plain Makefiles are good for bigger projects than hello world..
|
|
||||||
%make_install LIBDIR=%{_libdir} PREFIX=%{_prefix}
|
|
||||||
|
|
||||||
%ldconfig_scriptlets libs
|
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%license programs/COPYING
|
%license programs/COPYING
|
||||||
@ -84,26 +82,65 @@ chmod +x ./configure
|
|||||||
%{_libdir}/liblz4.a
|
%{_libdir}/liblz4.a
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Fri Jun 20 2025 Jakub Martisko <jamartis@redhat.com> - 1.8.3-5
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 1.9.4-7
|
||||||
- Fix a renamed variable in one of the patches
|
- Bump release for June 2024 mass rebuild
|
||||||
- Since the variable was used in an assert, the regular build did not fail, but the QA builds did.
|
|
||||||
- Related: RHEL-87362
|
|
||||||
|
|
||||||
* Thu Jun 19 2025 Jakub Martisko <jamartis@redhat.com> - 1.8.3-4
|
* Thu Jan 25 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-6
|
||||||
- Fix CVE-2019-17543
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
- Resolves: RHEL-87362
|
|
||||||
|
|
||||||
* Fri May 07 2021 Jakub Martisko <jamartis@redhat.com> - 1.8.3-3
|
* Sun Jan 21 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-5
|
||||||
- Fix memory corruption due to an integer overflow
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||||
_ Resolves: CVE-2021-3520
|
|
||||||
|
|
||||||
* Tue May 26 2020 Jakub Martisko <jamartis@redhat.com> - 1.8.3-2
|
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-4
|
||||||
- Rebuilding with the new gating tests
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||||
- Related: 1840046
|
|
||||||
|
|
||||||
* Mon Apr 06 2020 Jakub Martisko <jamartis@redhat.com> - 1.8.3-1
|
* Thu Apr 13 2023 Lukáš Zaoral <lzaoral@redhat.com> - 1.9.4-3
|
||||||
- Rebase to 1.8.3
|
- migrate to SPDX license format
|
||||||
- Resolves: #1821237
|
|
||||||
|
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.4-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Aug 17 2022 Timothée Ravier <tim@siosm.fr> - 1.9.4-1
|
||||||
|
- Update to 1.9.4 (fedora#2118499)
|
||||||
|
|
||||||
|
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.3-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.3-4
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.3-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 06 2021 Timothée Ravier <travier@redhat.com> - 1.9.3-1
|
||||||
|
- Update to 1.9.3 and switch to Meson
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.9.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Wed Aug 14 2019 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.9.1-1
|
||||||
|
- Update to 1.9.1
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.3-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.3-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Oct 29 2018 Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> - 1.8.3-1
|
||||||
|
- Update to latest version
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.8.2-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sat May 12 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.8.2-1
|
||||||
|
- Update to 1.8.2
|
||||||
|
|
||||||
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.8.1.2-4
|
* Fri Feb 09 2018 Igor Gnatenko <ignatenkobrain@fedoraproject.org> - 1.8.1.2-4
|
||||||
- Escape macros in %%changelog
|
- Escape macros in %%changelog
|
||||||
10
plans.fmf
Normal file
10
plans.fmf
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
/tier1-internal:
|
||||||
|
discover:
|
||||||
|
how: fmf
|
||||||
|
url: https://pkgs.devel.redhat.com/git/tests/lz4
|
||||||
|
filter: 'tier: 1'
|
||||||
|
execute:
|
||||||
|
how: tmt
|
||||||
|
adjust:
|
||||||
|
enabled: false
|
||||||
|
when: distro == centos-stream or distro == fedora
|
||||||
Loading…
Reference in New Issue
Block a user