Compare commits
No commits in common. "c9" and "c8s" have entirely different histories.
@ -1 +0,0 @@
|
|||||||
6ac2e8f1dd18c9b0214c4d81bd70cdc1e943cffe SOURCES/flac-1.3.3.tar.xz
|
|
1
.fmf/version
Normal file
1
.fmf/version
Normal file
@ -0,0 +1 @@
|
|||||||
|
1
|
3
.gitignore
vendored
3
.gitignore
vendored
@ -1 +1,2 @@
|
|||||||
SOURCES/flac-1.3.3.tar.xz
|
SOURCES/flac-1.3.2.tar.xz
|
||||||
|
/flac-1.3.2.tar.xz
|
||||||
|
@ -1,23 +0,0 @@
|
|||||||
commit 2e7931c27eb15e387da440a37f12437e35b22dd4
|
|
||||||
Author: Erik de Castro Lopo <erikd@mega-nerd.com>
|
|
||||||
Date: Mon Oct 7 12:55:58 2019 +1100
|
|
||||||
|
|
||||||
libFLAC/bitreader.c: Fix out-of-bounds read
|
|
||||||
|
|
||||||
Credit: Oss-Fuzz
|
|
||||||
Issue: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=17069
|
|
||||||
Testcase: fuzzer_decoder-5670265022840832
|
|
||||||
|
|
||||||
diff --git a/src/libFLAC/bitreader.c b/src/libFLAC/bitreader.c
|
|
||||||
index 5e4b5918..3df4d02c 100644
|
|
||||||
--- a/src/libFLAC/bitreader.c
|
|
||||||
+++ b/src/libFLAC/bitreader.c
|
|
||||||
@@ -869,7 +869,7 @@ incomplete_lsbs:
|
|
||||||
cwords = br->consumed_words;
|
|
||||||
words = br->words;
|
|
||||||
ucbits = FLAC__BITS_PER_WORD - br->consumed_bits;
|
|
||||||
- b = br->buffer[cwords] << br->consumed_bits;
|
|
||||||
+ b = cwords < br->capacity ? br->buffer[cwords] << br->consumed_bits : 0;
|
|
||||||
} while(cwords >= words && val < end);
|
|
||||||
}
|
|
||||||
|
|
@ -1,28 +0,0 @@
|
|||||||
commit e1575e4a7c5157cbf4e4a16dbd39b74f7174c7be
|
|
||||||
Author: Neelkamal Semwal <neelkamal.semwal@ittiam.com>
|
|
||||||
Date: Fri Dec 18 22:28:36 2020 +0530
|
|
||||||
|
|
||||||
libFlac: Exit at EOS in verify mode
|
|
||||||
|
|
||||||
When verify mode is enabled, once decoder flags end of stream,
|
|
||||||
encode processing is considered complete.
|
|
||||||
|
|
||||||
CVE-2021-0561
|
|
||||||
|
|
||||||
Signed-off-by: Ralph Giles <giles@thaumas.net>
|
|
||||||
|
|
||||||
diff --git a/src/libFLAC/stream_encoder.c b/src/libFLAC/stream_encoder.c
|
|
||||||
index 4c91247f..7109802c 100644
|
|
||||||
--- a/src/libFLAC/stream_encoder.c
|
|
||||||
+++ b/src/libFLAC/stream_encoder.c
|
|
||||||
@@ -2610,7 +2610,9 @@ FLAC__bool write_bitbuffer_(FLAC__StreamEncoder *encoder, uint32_t samples, FLAC
|
|
||||||
encoder->private_->verify.needs_magic_hack = true;
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
- if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)) {
|
|
||||||
+ if(!FLAC__stream_decoder_process_single(encoder->private_->verify.decoder)
|
|
||||||
+ || (!is_last_block
|
|
||||||
+ && (FLAC__stream_encoder_get_verify_decoder_state(encoder) == FLAC__STREAM_DECODER_END_OF_STREAM))) {
|
|
||||||
FLAC__bitwriter_release_buffer(encoder->private_->frame);
|
|
||||||
FLAC__bitwriter_clear(encoder->private_->frame);
|
|
||||||
if(encoder->protected_->state != FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA)
|
|
31
flac-cflags.patch
Normal file
31
flac-cflags.patch
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
diff -up flac-1.3.2/configure.ac.cflags flac-1.3.2/configure.ac
|
||||||
|
--- flac-1.3.2/configure.ac.cflags 2017-01-02 14:02:15.663046237 +0100
|
||||||
|
+++ flac-1.3.2/configure.ac 2017-01-02 14:04:20.718046015 +0100
|
||||||
|
@@ -390,7 +390,7 @@ if test "x$debug" = xtrue; then
|
||||||
|
else
|
||||||
|
CPPFLAGS="-DNDEBUG $CPPFLAGS"
|
||||||
|
CFLAGS=$(echo "$CFLAGS" | sed 's/-O2//')
|
||||||
|
- CFLAGS="-O3 -funroll-loops $CFLAGS"
|
||||||
|
+ CFLAGS="$user_cflags"
|
||||||
|
fi
|
||||||
|
|
||||||
|
XIPH_GCC_VERSION
|
||||||
|
@@ -400,7 +400,6 @@ if test x$ac_cv_c_compiler_gnu = xyes ;
|
||||||
|
CXXFLAGS="$CXXFLAGS -Wall -Wextra -Wcast-align -Wshadow -Wwrite-strings -Wctor-dtor-privacy -Wnon-virtual-dtor -Wreorder -Wsign-promo -Wundef " # -Wcast-qual -Wbad-function-cast -Wwrite-strings -Woverloaded-virtual -Wmissing-declarations
|
||||||
|
|
||||||
|
XIPH_ADD_CFLAGS([-Wdeclaration-after-statement])
|
||||||
|
- XIPH_ADD_CFLAGS([-D_FORTIFY_SOURCE=2])
|
||||||
|
|
||||||
|
AC_LANG_PUSH([C++])
|
||||||
|
XIPH_ADD_CXXFLAGS([-Weffc++])
|
||||||
|
@@ -426,10 +425,6 @@ if test x$ac_cv_c_compiler_gnu = xyes ;
|
||||||
|
XIPH_ADD_CFLAGS([-fno-inline-small-functions])
|
||||||
|
fi
|
||||||
|
|
||||||
|
- if test "x$asm_optimisation$sse_os" = "xyesyes" ; then
|
||||||
|
- XIPH_ADD_CFLAGS([-msse2])
|
||||||
|
- fi
|
||||||
|
-
|
||||||
|
fi
|
||||||
|
|
||||||
|
case "$host_os" in
|
@ -1,3 +1,5 @@
|
|||||||
|
Backported to 1.3.2
|
||||||
|
|
||||||
commit 21fe95ee828b0b9b944f6aa0bb02d24fbb981815
|
commit 21fe95ee828b0b9b944f6aa0bb02d24fbb981815
|
||||||
Author: Martijn van Beurden <mvanb1@gmail.com>
|
Author: Martijn van Beurden <mvanb1@gmail.com>
|
||||||
Date: Wed Aug 3 13:52:19 2022 +0200
|
Date: Wed Aug 3 13:52:19 2022 +0200
|
||||||
@ -19,11 +21,10 @@ Date: Wed Aug 3 13:52:19 2022 +0200
|
|||||||
could encounter double frees. Here the safe_realloc_nofree
|
could encounter double frees. Here the safe_realloc_nofree
|
||||||
functions are used.
|
functions are used.
|
||||||
|
|
||||||
diff --git a/include/share/alloc.h b/include/share/alloc.h
|
diff -up flac-1.3.2/include/share/alloc.h.cve-2020-22219 flac-1.3.2/include/share/alloc.h
|
||||||
index 9b53b010..74f444d6 100644
|
--- flac-1.3.2/include/share/alloc.h.cve-2020-22219 2016-12-07 21:10:26.218454157 +0100
|
||||||
--- a/include/share/alloc.h
|
+++ flac-1.3.2/include/share/alloc.h 2023-08-31 11:32:36.335453612 +0200
|
||||||
+++ b/include/share/alloc.h
|
@@ -161,17 +161,30 @@ static inline void *safe_realloc_(void *
|
||||||
@@ -161,17 +161,30 @@ static inline void *safe_realloc_(void *ptr, size_t size)
|
|
||||||
free(oldptr);
|
free(oldptr);
|
||||||
return newptr;
|
return newptr;
|
||||||
}
|
}
|
||||||
@ -57,7 +58,7 @@ index 9b53b010..74f444d6 100644
|
|||||||
{
|
{
|
||||||
size2 += size1;
|
size2 += size1;
|
||||||
if(size2 < size1)
|
if(size2 < size1)
|
||||||
@@ -182,7 +195,7 @@ static inline void *safe_realloc_add_3op_(void *ptr, size_t size1, size_t size2,
|
@@ -182,7 +195,7 @@ static inline void *safe_realloc_add_3op
|
||||||
return realloc(ptr, size3);
|
return realloc(ptr, size3);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -66,7 +67,7 @@ index 9b53b010..74f444d6 100644
|
|||||||
{
|
{
|
||||||
size2 += size1;
|
size2 += size1;
|
||||||
if(size2 < size1)
|
if(size2 < size1)
|
||||||
@@ -207,6 +220,15 @@ static inline void *safe_realloc_mul_2op_(void *ptr, size_t size1, size_t size2)
|
@@ -205,6 +218,15 @@ static inline void *safe_realloc_mul_2op
|
||||||
return safe_realloc_(ptr, size1*size2);
|
return safe_realloc_(ptr, size1*size2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -82,7 +83,7 @@ index 9b53b010..74f444d6 100644
|
|||||||
/* size1 * (size2 + size3) */
|
/* size1 * (size2 + size3) */
|
||||||
static inline void *safe_realloc_muladd2_(void *ptr, size_t size1, size_t size2, size_t size3)
|
static inline void *safe_realloc_muladd2_(void *ptr, size_t size1, size_t size2, size_t size3)
|
||||||
{
|
{
|
||||||
@@ -220,4 +242,15 @@ static inline void *safe_realloc_muladd2_(void *ptr, size_t size1, size_t size2,
|
@@ -216,4 +238,15 @@ static inline void *safe_realloc_muladd2
|
||||||
return safe_realloc_mul_2op_(ptr, size1, size2);
|
return safe_realloc_mul_2op_(ptr, size1, size2);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -98,11 +99,10 @@ index 9b53b010..74f444d6 100644
|
|||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
#endif
|
#endif
|
||||||
diff --git a/src/flac/encode.c b/src/flac/encode.c
|
diff -up flac-1.3.2/src/flac/encode.c.cve-2020-22219 flac-1.3.2/src/flac/encode.c
|
||||||
index a7d1f7b2..b82ced76 100644
|
--- flac-1.3.2/src/flac/encode.c.cve-2020-22219 2016-12-07 21:10:26.218454157 +0100
|
||||||
--- a/src/flac/encode.c
|
+++ flac-1.3.2/src/flac/encode.c 2023-08-31 11:32:36.335453612 +0200
|
||||||
+++ b/src/flac/encode.c
|
@@ -1744,10 +1744,10 @@ static void static_metadata_clear(static
|
||||||
@@ -1734,10 +1734,10 @@ static void static_metadata_clear(static_metadata_t *m)
|
|
||||||
static FLAC__bool static_metadata_append(static_metadata_t *m, FLAC__StreamMetadata *d, FLAC__bool needs_delete)
|
static FLAC__bool static_metadata_append(static_metadata_t *m, FLAC__StreamMetadata *d, FLAC__bool needs_delete)
|
||||||
{
|
{
|
||||||
void *x;
|
void *x;
|
||||||
@ -115,11 +115,10 @@ index a7d1f7b2..b82ced76 100644
|
|||||||
return false;
|
return false;
|
||||||
m->needs_delete = (FLAC__bool*)x;
|
m->needs_delete = (FLAC__bool*)x;
|
||||||
m->metadata[m->num_metadata] = d;
|
m->metadata[m->num_metadata] = d;
|
||||||
diff --git a/src/flac/foreign_metadata.c b/src/flac/foreign_metadata.c
|
diff -up flac-1.3.2/src/flac/foreign_metadata.c.cve-2020-22219 flac-1.3.2/src/flac/foreign_metadata.c
|
||||||
index 9a1fb96c..c86dff42 100644
|
--- flac-1.3.2/src/flac/foreign_metadata.c.cve-2020-22219 2016-12-07 21:10:26.222454288 +0100
|
||||||
--- a/src/flac/foreign_metadata.c
|
+++ flac-1.3.2/src/flac/foreign_metadata.c 2023-08-31 11:32:36.335453612 +0200
|
||||||
+++ b/src/flac/foreign_metadata.c
|
@@ -75,7 +75,7 @@ static FLAC__bool copy_data_(FILE *fin,
|
||||||
@@ -74,7 +74,7 @@ static FLAC__bool copy_data_(FILE *fin, FILE *fout, size_t size, const char **er
|
|
||||||
|
|
||||||
static FLAC__bool append_block_(foreign_metadata_t *fm, FLAC__off_t offset, FLAC__uint32 size, const char **error)
|
static FLAC__bool append_block_(foreign_metadata_t *fm, FLAC__off_t offset, FLAC__uint32 size, const char **error)
|
||||||
{
|
{
|
||||||
@ -128,11 +127,10 @@ index 9a1fb96c..c86dff42 100644
|
|||||||
if(fb) {
|
if(fb) {
|
||||||
fb[fm->num_blocks].offset = offset;
|
fb[fm->num_blocks].offset = offset;
|
||||||
fb[fm->num_blocks].size = size;
|
fb[fm->num_blocks].size = size;
|
||||||
diff --git a/src/libFLAC/bitwriter.c b/src/libFLAC/bitwriter.c
|
diff -up flac-1.3.2/src/libFLAC/bitwriter.c.cve-2020-22219 flac-1.3.2/src/libFLAC/bitwriter.c
|
||||||
index 79ab8649..8865a2f4 100644
|
--- flac-1.3.2/src/libFLAC/bitwriter.c.cve-2020-22219 2016-12-07 21:10:26.222454288 +0100
|
||||||
--- a/src/libFLAC/bitwriter.c
|
+++ flac-1.3.2/src/libFLAC/bitwriter.c 2023-08-31 11:32:36.335453612 +0200
|
||||||
+++ b/src/libFLAC/bitwriter.c
|
@@ -124,7 +124,7 @@ FLAC__bool bitwriter_grow_(FLAC__BitWrit
|
||||||
@@ -133,7 +133,7 @@ FLAC__bool bitwriter_grow_(FLAC__BitWriter *bw, uint32_t bits_to_add)
|
|
||||||
FLAC__ASSERT(new_capacity > bw->capacity);
|
FLAC__ASSERT(new_capacity > bw->capacity);
|
||||||
FLAC__ASSERT(new_capacity >= bw->words + ((bw->bits + bits_to_add + FLAC__BITS_PER_WORD - 1) / FLAC__BITS_PER_WORD));
|
FLAC__ASSERT(new_capacity >= bw->words + ((bw->bits + bits_to_add + FLAC__BITS_PER_WORD - 1) / FLAC__BITS_PER_WORD));
|
||||||
|
|
||||||
@ -141,24 +139,22 @@ index 79ab8649..8865a2f4 100644
|
|||||||
if(new_buffer == 0)
|
if(new_buffer == 0)
|
||||||
return false;
|
return false;
|
||||||
bw->buffer = new_buffer;
|
bw->buffer = new_buffer;
|
||||||
diff --git a/src/libFLAC/metadata_object.c b/src/libFLAC/metadata_object.c
|
diff -up flac-1.3.2/src/libFLAC/metadata_object.c.cve-2020-22219 flac-1.3.2/src/libFLAC/metadata_object.c
|
||||||
index 7cc8ee9f..2c7da8db 100644
|
--- flac-1.3.2/src/libFLAC/metadata_object.c.cve-2020-22219 2023-08-31 11:32:36.336453612 +0200
|
||||||
--- a/src/libFLAC/metadata_object.c
|
+++ flac-1.3.2/src/libFLAC/metadata_object.c 2023-08-31 11:34:18.844405405 +0200
|
||||||
+++ b/src/libFLAC/metadata_object.c
|
@@ -98,7 +98,7 @@ static FLAC__bool free_copy_bytes_(FLAC_
|
||||||
@@ -98,7 +98,7 @@ static FLAC__bool free_copy_bytes_(FLAC__byte **to, const FLAC__byte *from, uint
|
|
||||||
/* realloc() failure leaves entry unchanged */
|
/* realloc() failure leaves entry unchanged */
|
||||||
static FLAC__bool ensure_null_terminated_(FLAC__byte **entry, uint32_t length)
|
static FLAC__bool ensure_null_terminated_(FLAC__byte **entry, unsigned length)
|
||||||
{
|
{
|
||||||
- FLAC__byte *x = safe_realloc_add_2op_(*entry, length, /*+*/1);
|
- FLAC__byte *x = safe_realloc_add_2op_(*entry, length, /*+*/1);
|
||||||
+ FLAC__byte *x = safe_realloc_nofree_add_2op_(*entry, length, /*+*/1);
|
+ FLAC__byte *x = safe_realloc_nofree_add_2op_(*entry, length, /*+*/1);
|
||||||
if (x != NULL) {
|
if (x != NULL) {
|
||||||
x[length] = '\0';
|
x[length] = '\0';
|
||||||
*entry = x;
|
*entry = x;
|
||||||
diff --git a/src/plugin_common/tags.c b/src/plugin_common/tags.c
|
diff -up flac-1.3.2/src/plugin_common/tags.c.cve-2020-22219 flac-1.3.2/src/plugin_common/tags.c
|
||||||
index e9227444..ffd846b6 100644
|
--- flac-1.3.2/src/plugin_common/tags.c.cve-2020-22219 2016-12-07 21:10:26.234454678 +0100
|
||||||
--- a/src/plugin_common/tags.c
|
+++ flac-1.3.2/src/plugin_common/tags.c 2023-08-31 11:32:36.336453612 +0200
|
||||||
+++ b/src/plugin_common/tags.c
|
@@ -317,7 +317,7 @@ FLAC__bool FLAC_plugin__tags_add_tag_utf
|
||||||
@@ -317,7 +317,7 @@ FLAC__bool FLAC_plugin__tags_add_tag_utf8(FLAC__StreamMetadata *tags, const char
|
|
||||||
const size_t value_len = strlen(value);
|
const size_t value_len = strlen(value);
|
||||||
const size_t separator_len = strlen(separator);
|
const size_t separator_len = strlen(separator);
|
||||||
FLAC__byte *new_entry;
|
FLAC__byte *new_entry;
|
||||||
@ -167,11 +163,10 @@ index e9227444..ffd846b6 100644
|
|||||||
return false;
|
return false;
|
||||||
memcpy(new_entry+entry->length, separator, separator_len);
|
memcpy(new_entry+entry->length, separator, separator_len);
|
||||||
entry->length += separator_len;
|
entry->length += separator_len;
|
||||||
diff --git a/src/share/utf8/iconvert.c b/src/share/utf8/iconvert.c
|
diff -up flac-1.3.2/src/share/utf8/iconvert.c.cve-2020-22219 flac-1.3.2/src/share/utf8/iconvert.c
|
||||||
index 8ab53c10..876c06e8 100644
|
--- flac-1.3.2/src/share/utf8/iconvert.c.cve-2020-22219 2016-12-07 21:10:26.234454678 +0100
|
||||||
--- a/src/share/utf8/iconvert.c
|
+++ flac-1.3.2/src/share/utf8/iconvert.c 2023-08-31 11:32:36.336453612 +0200
|
||||||
+++ b/src/share/utf8/iconvert.c
|
@@ -149,7 +149,7 @@ int iconvert(const char *fromcode, const
|
||||||
@@ -149,7 +149,7 @@ int iconvert(const char *fromcode, const char *tocode,
|
|
||||||
iconv_close(cd1);
|
iconv_close(cd1);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
22
flac-memleak.patch
Normal file
22
flac-memleak.patch
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
commit 4f47b63e9c971e6391590caf00a0f2a5ed612e67
|
||||||
|
Author: Erik de Castro Lopo <erikd@mega-nerd.com>
|
||||||
|
Date: Sat Apr 8 18:34:49 2017 +1000
|
||||||
|
|
||||||
|
stream_decoder.c: Fix a memory leak
|
||||||
|
|
||||||
|
Leak reported by Secunia Research.
|
||||||
|
|
||||||
|
diff --git a/src/libFLAC/stream_decoder.c b/src/libFLAC/stream_decoder.c
|
||||||
|
index 14d5fe7f..a5527511 100644
|
||||||
|
--- a/src/libFLAC/stream_decoder.c
|
||||||
|
+++ b/src/libFLAC/stream_decoder.c
|
||||||
|
@@ -1753,6 +1753,9 @@ FLAC__bool read_metadata_vorbiscomment_(FLAC__StreamDecoder *decoder, FLAC__Stre
|
||||||
|
}
|
||||||
|
memset (obj->comments[i].entry, 0, obj->comments[i].length) ;
|
||||||
|
if (!FLAC__bitreader_read_byte_block_aligned_no_crc(decoder->private_->input, obj->comments[i].entry, obj->comments[i].length)) {
|
||||||
|
+ /* Current i-th entry is bad, so we delete it. */
|
||||||
|
+ free (obj->comments[i].entry) ;
|
||||||
|
+ obj->comments[i].entry = NULL ;
|
||||||
|
obj->num_comments = i;
|
||||||
|
goto skip;
|
||||||
|
}
|
12
flac-nonasm.patch
Normal file
12
flac-nonasm.patch
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
diff -up flac-1.3.2/configure.ac.nonasm flac-1.3.2/configure.ac
|
||||||
|
--- flac-1.3.2/configure.ac.nonasm 2018-09-20 18:07:24.511716480 +0200
|
||||||
|
+++ flac-1.3.2/configure.ac 2018-09-20 18:21:18.727824763 +0200
|
||||||
|
@@ -377,7 +377,7 @@ if test x$have_clock_gettime = xyes; the
|
||||||
|
fi
|
||||||
|
|
||||||
|
# only matters for x86
|
||||||
|
-AC_CHECK_PROGS(NASM, nasm)
|
||||||
|
+#AC_CHECK_PROGS(NASM, nasm)
|
||||||
|
AM_CONDITIONAL(FLaC__HAS_NASM, test -n "$NASM")
|
||||||
|
if test -n "$NASM" ; then
|
||||||
|
AC_DEFINE(FLAC__HAS_NASM)
|
@ -1,35 +1,24 @@
|
|||||||
# Disable if you don't need xmms
|
|
||||||
%global with_xmms !0%{?rhel}
|
|
||||||
|
|
||||||
%if %{with_xmms}
|
|
||||||
%define xmms_inputdir %(xmms-config --input-plugin-dir 2>/dev/null || echo %{_libdir}/xmms/General)
|
|
||||||
%endif
|
|
||||||
|
|
||||||
Summary: An encoder/decoder for the Free Lossless Audio Codec
|
Summary: An encoder/decoder for the Free Lossless Audio Codec
|
||||||
Name: flac
|
Name: flac
|
||||||
Version: 1.3.3
|
Version: 1.3.2
|
||||||
Release: 10%{?dist}.1
|
Release: 11%{?dist}
|
||||||
License: BSD and GPLv2+ and GFDL
|
License: BSD and GPLv2+ and GFDL
|
||||||
Source0: https://downloads.xiph.org/releases/flac/flac-%{version}.tar.xz
|
Group: Applications/Multimedia
|
||||||
URL: https://www.xiph.org/flac/
|
Source0: http://downloads.xiph.org/releases/flac/flac-%{version}.tar.xz
|
||||||
|
URL: http://www.xiph.org/flac/
|
||||||
|
# use our CFLAGS and don't force SSE intrinsics
|
||||||
|
Patch1: flac-cflags.patch
|
||||||
|
# fix memory leak in parsing of vorbis comments
|
||||||
|
Patch2: flac-memleak.patch
|
||||||
|
# disable nasm detection
|
||||||
|
Patch3: flac-nonasm.patch
|
||||||
|
# don't free memory that is still used after realloc() error
|
||||||
|
Patch4: flac-cve-2020-22219.patch
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
BuildRequires: libogg-devel
|
BuildRequires: libogg-devel
|
||||||
BuildRequires: gcc gcc-c++ automake autoconf libtool gettext-devel doxygen
|
BuildRequires: gcc automake autoconf libtool gettext-devel doxygen
|
||||||
%if %{with_xmms}
|
# xmms-flac subpackage was dropped in 1.3.2-8
|
||||||
BuildRequires: xmms-devel desktop-file-utils
|
Obsoletes: xmms-%{name} < 1.3.2-8
|
||||||
Source1: xmms-flac.desktop
|
|
||||||
%endif
|
|
||||||
%ifarch %{ix86}
|
|
||||||
# 2.0 supports symbol visibility
|
|
||||||
BuildRequires: nasm >= 2.0
|
|
||||||
%endif
|
|
||||||
BuildRequires: make
|
|
||||||
|
|
||||||
Patch1: flac-cve-2020-0499.patch
|
|
||||||
# handle end-of-stream when encoding with verification
|
|
||||||
Patch2: flac-cve-2021-0561.patch
|
|
||||||
# don't free memory that is still used after realloc() error
|
|
||||||
Patch3: flac-cve-2020-22219.patch
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC
|
FLAC stands for Free Lossless Audio Codec. Grossly oversimplified, FLAC
|
||||||
@ -43,6 +32,7 @@ This package contains the command-line tools and documentation.
|
|||||||
|
|
||||||
%package libs
|
%package libs
|
||||||
Summary: Libraries for the Free Lossless Audio Codec
|
Summary: Libraries for the Free Lossless Audio Codec
|
||||||
|
Group: System Environment/Libraries
|
||||||
Obsoletes: flac < 1.2.1-11
|
Obsoletes: flac < 1.2.1-11
|
||||||
|
|
||||||
%description libs
|
%description libs
|
||||||
@ -56,6 +46,7 @@ This package contains the FLAC libraries.
|
|||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Development libraries and header files from FLAC
|
Summary: Development libraries and header files from FLAC
|
||||||
|
Group: Development/Libraries
|
||||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||||
Requires: pkgconfig
|
Requires: pkgconfig
|
||||||
|
|
||||||
@ -63,24 +54,12 @@ Requires: pkgconfig
|
|||||||
This package contains all the files needed to develop applications that
|
This package contains all the files needed to develop applications that
|
||||||
will use the Free Lossless Audio Codec.
|
will use the Free Lossless Audio Codec.
|
||||||
|
|
||||||
%if %{with_xmms}
|
|
||||||
%package -n xmms-flac
|
|
||||||
Summary: XMMS plugin needed to play FLAC (Free Lossless Audio Codec) files
|
|
||||||
# The entire FLAC sources are covered by multiple licenses, but the xmms plugin
|
|
||||||
# is only GPLv2+
|
|
||||||
License: GPLv2+
|
|
||||||
|
|
||||||
%description -n xmms-flac
|
|
||||||
FLAC is a Free Lossless Audio Codec. The FLAC format supports streaming,
|
|
||||||
seeking, and archival, and gives 25-75% compression on typical CD audio.
|
|
||||||
This is the input plugin for XMMS to be able to read FLAC files.
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch1 -p1 -b .cve-2020-0499
|
%patch1 -p1 -b .cflags
|
||||||
%patch2 -p1 -b .cve-2021-0561
|
%patch2 -p1 -b .memleak
|
||||||
%patch3 -p1 -b .cve-2020-22219
|
%patch3 -p1 -b .nonasm
|
||||||
|
%patch4 -p1 -b .cve-2020-22219
|
||||||
|
|
||||||
%build
|
%build
|
||||||
# use our libtool to avoid problems with RPATH
|
# use our libtool to avoid problems with RPATH
|
||||||
@ -89,23 +68,14 @@ This is the input plugin for XMMS to be able to read FLAC files.
|
|||||||
# -funroll-loops makes encoding about 10% faster
|
# -funroll-loops makes encoding about 10% faster
|
||||||
export CFLAGS="%{optflags} -funroll-loops"
|
export CFLAGS="%{optflags} -funroll-loops"
|
||||||
%configure \
|
%configure \
|
||||||
--htmldir=%{_docdir}/flac/html \
|
|
||||||
%if %{with_xmms}
|
|
||||||
--enable-xmms-plugin \
|
|
||||||
%else
|
|
||||||
--disable-xmms-plugin \
|
--disable-xmms-plugin \
|
||||||
%endif
|
|
||||||
--disable-silent-rules \
|
--disable-silent-rules \
|
||||||
--disable-thorough-tests
|
--disable-thorough-tests
|
||||||
|
|
||||||
%make_build
|
make %{?_smp_mflags}
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
make install DESTDIR=%{buildroot}
|
||||||
|
|
||||||
%if %{with_xmms}
|
|
||||||
desktop-file-install --dir=%{buildroot}%{_datadir}/applications %{SOURCE1}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
# split documentation
|
# split documentation
|
||||||
mv %{buildroot}%{_docdir}/flac* ./flac-doc
|
mv %{buildroot}%{_docdir}/flac* ./flac-doc
|
||||||
@ -114,12 +84,9 @@ mv flac-doc{/html/api,-devel}
|
|||||||
rm flac-doc/FLAC.tag
|
rm flac-doc/FLAC.tag
|
||||||
|
|
||||||
rm %{buildroot}%{_libdir}/*.la
|
rm %{buildroot}%{_libdir}/*.la
|
||||||
%if %{with_xmms}
|
|
||||||
rm %{buildroot}%{xmms_inputdir}/*.la
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
make check
|
make -C test check FLAC__TEST_LEVEL=0 &> /dev/null
|
||||||
|
|
||||||
%ldconfig_scriptlets libs
|
%ldconfig_scriptlets libs
|
||||||
|
|
||||||
@ -131,8 +98,7 @@ make check
|
|||||||
|
|
||||||
%files libs
|
%files libs
|
||||||
%doc AUTHORS COPYING* README
|
%doc AUTHORS COPYING* README
|
||||||
%{_libdir}/libFLAC.so.8*
|
%{_libdir}/*.so.*
|
||||||
%{_libdir}/libFLAC++.so.6*
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%doc flac-doc-devel/*
|
%doc flac-doc-devel/*
|
||||||
@ -141,64 +107,18 @@ make check
|
|||||||
%{_libdir}/pkgconfig/*
|
%{_libdir}/pkgconfig/*
|
||||||
%{_datadir}/aclocal/*.m4
|
%{_datadir}/aclocal/*.m4
|
||||||
|
|
||||||
%if %{with_xmms}
|
|
||||||
%files -n xmms-flac
|
|
||||||
%license COPYING.GPL
|
|
||||||
%{_datadir}/applications/xmms-flac.desktop
|
|
||||||
%{xmms_inputdir}/libxmms-flac.so
|
|
||||||
%endif
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Thu Aug 31 2023 Miroslav Lichvar <mlichvar@redhat.com> 1.3.3-10.el9_2.1
|
* Mon Sep 25 2023 Miroslav Lichvar <mlichvar@redhat.com> 1.3.2-11
|
||||||
|
- rebuild
|
||||||
|
|
||||||
|
* Mon Sep 18 2023 Miroslav Lichvar <mlichvar@redhat.com> 1.3.2-10
|
||||||
- don't free memory that is still used after realloc() error (CVE-2020-22219)
|
- don't free memory that is still used after realloc() error (CVE-2020-22219)
|
||||||
|
|
||||||
* Thu May 05 2022 Miroslav Lichvar <mlichvar@redhat.com> 1.3.3-10
|
* Thu Sep 20 2018 Miroslav Lichvar <mlichvar@redhat.com> 1.3.2-9
|
||||||
- handle end-of-stream when encoding with verification (CVE-2021-0561)
|
- disable nasm to avoid gaps in annobin coverage (#1630561)
|
||||||
|
|
||||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com> - 1.3.3-9
|
* Wed May 16 2018 Miroslav Lichvar <mlichvar@redhat.com> 1.3.2-8
|
||||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
- drop xmms-flac subpackage (#1578806)
|
||||||
Related: rhbz#1991688
|
|
||||||
|
|
||||||
* Thu Apr 15 2021 Mohan Boddu <mboddu@redhat.com> - 1.3.3-8
|
|
||||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
|
||||||
|
|
||||||
* Fri Feb 19 2021 Adam Jackson <ajax@redhat.com> - 1.3.3-7
|
|
||||||
- Fix the previous change to actually build in RHEL
|
|
||||||
|
|
||||||
* Thu Feb 18 2021 Adam Jackson <ajax@redhat.com> - 1.3.3-6
|
|
||||||
- Disable xmms in RHEL
|
|
||||||
|
|
||||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-5
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Jan 07 2021 Miroslav Lichvar <mlichvar@redhat.com> 1.3.3-4
|
|
||||||
- fix out-of-bounds read in decoder (CVE-2020-0499)
|
|
||||||
|
|
||||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-3
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.3-2
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
|
||||||
|
|
||||||
* Tue Aug 06 2019 Miroslav Lichvar <mlichvar@redhat.com> 1.3.3-1
|
|
||||||
- update to 1.3.3
|
|
||||||
- include soname in file list
|
|
||||||
|
|
||||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-12
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
|
||||||
|
|
||||||
* Thu Mar 7 2019 Tim Landscheidt <tim@tim-landscheidt.de> - 1.3.2-11
|
|
||||||
- Remove obsolete requirements for %%post/%%postun scriptlets
|
|
||||||
|
|
||||||
* Tue Feb 05 2019 Miroslav Lichvar <mlichvar@redhat.com> 1.3.2-10
|
|
||||||
- rebuild again
|
|
||||||
- fix indentation in buildrequires
|
|
||||||
|
|
||||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-9
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
|
||||||
|
|
||||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.3.2-8
|
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
|
||||||
|
|
||||||
* Wed May 02 2018 Miroslav Lichvar <mlichvar@redhat.com> 1.3.2-7
|
* Wed May 02 2018 Miroslav Lichvar <mlichvar@redhat.com> 1.3.2-7
|
||||||
- fix memory leak in parsing of vorbis comments (CVE-2017-6888)
|
- fix memory leak in parsing of vorbis comments (CVE-2017-6888)
|
25
gating.yaml
Normal file
25
gating.yaml
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_testing
|
||||||
|
subject_type: koji_build
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||||
|
|
||||||
|
#Rawhide
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- fedora-*
|
||||||
|
decision_context: bodhi_update_push_stable
|
||||||
|
subject_type: koji_build
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: fedora-ci.koji-build./plans/tier1-public.functional}
|
||||||
|
|
||||||
|
#gating rhel
|
||||||
|
--- !Policy
|
||||||
|
product_versions:
|
||||||
|
- rhel-*
|
||||||
|
decision_context: osci_compose_gate
|
||||||
|
rules:
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-public.functional}
|
||||||
|
- !PassingTestCaseRule {test_case_name: osci.brew-build./plans/tier1-internal.functional}
|
36
plans.fmf
Normal file
36
plans.fmf
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/tier1-internal:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/flac.git
|
||||||
|
name: /plans/tier1/internal
|
||||||
|
|
||||||
|
/tier1-public:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/flac.git
|
||||||
|
name: /plans/tier1/public
|
||||||
|
|
||||||
|
/tier2-tier3-internal:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/flac.git
|
||||||
|
name: /plans/tier2-tier3/internal
|
||||||
|
|
||||||
|
/tier2-tier3-public:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/flac.git
|
||||||
|
name: /plans/tier2-tier3/public
|
||||||
|
|
||||||
|
/others-internal:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/flac.git
|
||||||
|
name: /plans/others/internal
|
||||||
|
|
||||||
|
/others-public:
|
||||||
|
plan:
|
||||||
|
import:
|
||||||
|
url: https://src.fedoraproject.org/tests/flac.git
|
||||||
|
name: /plans/others/public
|
||||||
|
|
Loading…
Reference in New Issue
Block a user