diff options
author | David Seifert <soap@gentoo.org> | 2020-10-04 15:55:09 +0200 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2020-10-04 15:55:09 +0200 |
commit | 455ff240b6739983b52aa3d63f9f2cb2c0f4c654 (patch) | |
tree | 84bc0afb89001b4c29bad7747cde0456cdc1c91d /media-libs | |
parent | www-client/firefox-bin: synchronize with mail-client/thunderbird-bin (diff) | |
download | gentoo-455ff240b6739983b52aa3d63f9f2cb2c0f4c654.tar.gz gentoo-455ff240b6739983b52aa3d63f9f2cb2c0f4c654.tar.bz2 gentoo-455ff240b6739983b52aa3d63f9f2cb2c0f4c654.zip |
media-libs/libsndfile: Remove old 1.0.28-r4 and 1.0.29
Closes: https://bugs.gentoo.org/631674
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'media-libs')
12 files changed, 0 insertions, 633 deletions
diff --git a/media-libs/libsndfile/Manifest b/media-libs/libsndfile/Manifest index 757175707100..21eef4133d6f 100644 --- a/media-libs/libsndfile/Manifest +++ b/media-libs/libsndfile/Manifest @@ -1,4 +1,2 @@ -DIST libsndfile-1.0.28.tar.gz 1202833 BLAKE2B 102735766e2c22b5278fde43feaaa664598c08fadb5264d5130e4bf1e354bd4202948db38e2912d7487bd7f8c0b9faf1616c0873eed886a56b1d7f49452bf488 SHA512 890731a6b8173f714155ce05eaf6d991b31632c8ab207fbae860968861a107552df26fcf85602df2e7f65502c7256c1b41735e1122485a3a07ddb580aa83b57f -DIST libsndfile-1.0.29.tar.bz2 831090 BLAKE2B 0bdf20a0abe22f628434e80c61c6b7d31e62c40dd881f462d8e12eb4488f0bcb1c0c7712fbff4902bbbea86e08763a01f7d85b875166c5c9214ab9d8aa10a1c1 SHA512 72cf038b26c66e6e085d97ef1954bd3aa76315527f632649707c76128953bfbb2c9b52527d309720ca1107a9e04e033722995911dad43b4adda46bf4a05354d7 DIST libsndfile-1.0.29_pre2_p20191024.tar.gz 720981 BLAKE2B 9f1dcf3d3669b66d8582d50b62ff863facd7125432a84a3e1e3fb0f817554f260f42948b4479371fb0967dcc75bedc6c49afffc6bee3f973a875d72d2e508210 SHA512 e37b385b90cadc97348db03b6c5ae7a8fcee17ded60f54d1508adddb8e2dc604ea44b60a0fe08627e81c0faa83997cdafb0b0ecf8574f901bf5e8a1819a63998 DIST libsndfile-1.0.30.tar.bz2 852320 BLAKE2B 00bd558a3d8645f4ad03fba38c31fcea25d30bea4b6f1a785b4b31b0da61bfa6a6f7df1bd7907c95c543cce8ee6766032d2e614eb285f2fc529146cb1d319517 SHA512 c4be4bc57df880da81570889a80256ba4567f2c7d6bdfb38f3803c55f616278160e962544bfac32e53b613b8fdf2a2644d8da9ee778747c32cb681a0fd5aab00 diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-12562.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-12562.patch deleted file mode 100644 index 0ff2b7ef4590..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-12562.patch +++ /dev/null @@ -1,88 +0,0 @@ -From b6a9d7e95888ffa77d8c75ce3f03e6c7165587cd Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?J=C3=B6rn=20Heusipp?= <osmanx@problemloesungsmaschine.de> -Date: Wed, 14 Jun 2017 12:25:40 +0200 -Subject: [PATCH] src/common.c: Fix heap buffer overflows when writing strings - in binheader - -Fixes the following problems: - 1. Case 's' only enlarges the buffer by 16 bytes instead of size bytes. - 2. psf_binheader_writef() enlarges the header buffer (if needed) prior to the - big switch statement by an amount (16 bytes) which is enough for all cases - where only a single value gets added. Cases 's', 'S', 'p' however - additionally write an arbitrary length block of data and again enlarge the - buffer to the required amount. However, the required space calculation does - not take into account the size of the length field which gets output before - the data. - 3. Buffer size requirement calculation in case 'S' does not account for the - padding byte ("size += (size & 1) ;" happens after the calculation which - uses "size"). - 4. Case 'S' can overrun the header buffer by 1 byte when no padding is - involved - ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ;" while - the buffer is only guaranteed to have "size" space available). - 5. "psf->header.ptr [psf->header.indx] = 0 ;" in case 'S' always writes 1 byte - beyond the space which is guaranteed to be allocated in the header buffer. - 6. Case 's' can overrun the provided source string by 1 byte if padding is - involved ("memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ;" - where "size" is "strlen (strptr) + 1" (which includes the 0 terminator, - plus optionally another 1 which is padding and not guaranteed to be - readable via the source string pointer). - -Closes: https://github.com/erikd/libsndfile/issues/292 ---- - src/common.c | 15 +++++++-------- - 1 file changed, 7 insertions(+), 8 deletions(-) - -diff --git a/src/common.c b/src/common.c -index 1a6204ca..6b2a2ee9 100644 ---- a/src/common.c -+++ b/src/common.c -@@ -681,16 +681,16 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - /* Write a C string (guaranteed to have a zero terminator). */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) + 1 ; -- size += (size & 1) ; - -- if (psf->header.indx + (sf_count_t) size >= psf->header.len && psf_bump_header_allocation (psf, 16)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - - if (psf->rwf_endian == SF_ENDIAN_BIG) -- header_put_be_int (psf, size) ; -+ header_put_be_int (psf, size + (size & 1)) ; - else -- header_put_le_int (psf, size) ; -+ header_put_le_int (psf, size + (size & 1)) ; - memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size) ; -+ size += (size & 1) ; - psf->header.indx += size ; - psf->header.ptr [psf->header.indx - 1] = 0 ; - count += 4 + size ; -@@ -703,16 +703,15 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - */ - strptr = va_arg (argptr, char *) ; - size = strlen (strptr) ; -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 4 + (sf_count_t) size + (sf_count_t) (size & 1) > psf->header.len && psf_bump_header_allocation (psf, 4 + size + (size & 1))) - return count ; - if (psf->rwf_endian == SF_ENDIAN_BIG) - header_put_be_int (psf, size) ; - else - header_put_le_int (psf, size) ; -- memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + 1) ; -+ memcpy (&(psf->header.ptr [psf->header.indx]), strptr, size + (size & 1)) ; - size += (size & 1) ; - psf->header.indx += size ; -- psf->header.ptr [psf->header.indx] = 0 ; - count += 4 + size ; - break ; - -@@ -724,7 +723,7 @@ psf_binheader_writef (SF_PRIVATE *psf, const char *format, ...) - size = (size & 1) ? size : size + 1 ; - size = (size > 254) ? 254 : size ; - -- if (psf->header.indx + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, size)) -+ if (psf->header.indx + 1 + (sf_count_t) size > psf->header.len && psf_bump_header_allocation (psf, 1 + size)) - return count ; - - header_put_byte (psf, size) ; diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-14634.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-14634.patch deleted file mode 100644 index 9eab370aac47..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-14634.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 85c877d5072866aadbe8ed0c3e0590fbb5e16788 Mon Sep 17 00:00:00 2001 -From: Fabian Greffrath <fabian@greffrath.com> -Date: Thu, 28 Sep 2017 12:15:04 +0200 -Subject: [PATCH] double64_init: Check psf->sf.channels against upper bound - -This prevents division by zero later in the code. - -While the trivial case to catch this (i.e. sf.channels < 1) has already -been covered, a crafted file may report a number of channels that is -so high (i.e. > INT_MAX/sizeof(double)) that it "somehow" gets -miscalculated to zero (if this makes sense) in the determination of the -blockwidth. Since we only support a limited number of channels anyway, -make sure to check here as well. - -CVE-2017-14634 - -Closes: https://github.com/erikd/libsndfile/issues/318 -Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com> ---- - src/double64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/double64.c b/src/double64.c -index b318ea86..78dfef7f 100644 ---- a/src/double64.c -+++ b/src/double64.c -@@ -91,7 +91,7 @@ int - double64_init (SF_PRIVATE *psf) - { static int double64_caps ; - -- if (psf->sf.channels < 1) -+ if (psf->sf.channels < 1 || psf->sf.channels > SF_MAX_CHANNELS) - { psf_log_printf (psf, "double64_init : internal error : channels = %d\n", psf->sf.channels) ; - return SFE_INTERNAL ; - } ; diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-6892.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-6892.patch deleted file mode 100644 index d5ccf726684a..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-6892.patch +++ /dev/null @@ -1,25 +0,0 @@ -From f833c53cb596e9e1792949f762e0b33661822748 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Tue, 23 May 2017 20:15:24 +1000 -Subject: [PATCH] src/aiff.c: Fix a buffer read overflow - -Secunia Advisory SA76717. - -Found by: Laurent Delosieres, Secunia Research at Flexera Software ---- - src/aiff.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/aiff.c b/src/aiff.c -index 5b5f9f53..45864b76 100644 ---- a/src/aiff.c -+++ b/src/aiff.c -@@ -1759,7 +1759,7 @@ aiff_read_chanmap (SF_PRIVATE * psf, unsigned dword) - psf_binheader_readf (psf, "j", dword - bytesread) ; - - if (map_info->channel_map != NULL) -- { size_t chanmap_size = psf->sf.channels * sizeof (psf->channel_map [0]) ; -+ { size_t chanmap_size = SF_MIN (psf->sf.channels, layout_tag & 0xffff) * sizeof (psf->channel_map [0]) ; - - free (psf->channel_map) ; - diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8362.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8362.patch deleted file mode 100644 index 54fbfb44c3b1..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8362.patch +++ /dev/null @@ -1,50 +0,0 @@ -From ef1dbb2df1c0e741486646de40bd638a9c4cd808 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Fri, 14 Apr 2017 15:19:16 +1000 -Subject: [PATCH] src/flac.c: Fix a buffer read overflow - -A file (generated by a fuzzer) which increased the number of channels -from one frame to the next could cause a read beyond the end of the -buffer provided by libFLAC. Only option is to abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/231 ---- - src/flac.c | 11 +++++++++-- - 1 file changed, 9 insertions(+), 2 deletions(-) - -diff --git a/src/flac.c b/src/flac.c -index 5a4f8c21..e4f9aaa0 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -169,6 +169,14 @@ flac_buffer_copy (SF_PRIVATE *psf) - const int32_t* const *buffer = pflac->wbuffer ; - unsigned i = 0, j, offset, channels, len ; - -+ if (psf->sf.channels != (int) frame->header.channels) -+ { psf_log_printf (psf, "Error: FLAC frame changed from %d to %d channels\n" -+ "Nothing to do but to error out.\n" , -+ psf->sf.channels, frame->header.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return 0 ; -+ } ; -+ - /* - ** frame->header.blocksize is variable and we're using a constant blocksize - ** of FLAC__MAX_BLOCK_SIZE. -@@ -202,7 +210,6 @@ flac_buffer_copy (SF_PRIVATE *psf) - return 0 ; - } ; - -- - len = SF_MIN (pflac->len, frame->header.blocksize) ; - - if (pflac->remain % channels != 0) -@@ -436,7 +443,7 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - { case FLAC__METADATA_TYPE_STREAMINFO : - if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) - { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -- "Nothing to be but to error out.\n" , -+ "Nothing to do but to error out.\n" , - psf->sf.channels, metadata->data.stream_info.channels) ; - psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; - return ; diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8363.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8363.patch deleted file mode 100644 index d0aa400bdd95..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8363.patch +++ /dev/null @@ -1,28 +0,0 @@ -From cd7da8dbf6ee4310d21d9e44b385d6797160d9e8 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Wed, 12 Apr 2017 20:19:34 +1000 -Subject: [PATCH] src/flac.c: Fix another memory leak - -When the FLAC decoder was passed a malformed file, the associated -`FLAC__StreamDecoder` object was not getting released. - -Closes: https://github.com/erikd/libsndfile/issues/233 ---- - src/flac.c | 4 +++- - 1 file changed, 3 insertions(+), 1 deletion(-) - -diff --git a/src/flac.c b/src/flac.c -index 986a7b8f..5a4f8c21 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -841,7 +841,9 @@ flac_read_header (SF_PRIVATE *psf) - - psf_log_printf (psf, "End\n") ; - -- if (psf->error == 0) -+ if (psf->error != 0) -+ FLAC__stream_decoder_delete (pflac->fsd) ; -+ else - { FLAC__uint64 position ; - - FLAC__stream_decoder_get_decode_position (pflac->fsd, &position) ; diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8365.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8365.patch deleted file mode 100644 index 1dc5b57f1d39..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2017-8365.patch +++ /dev/null @@ -1,64 +0,0 @@ -From fd0484aba8e51d16af1e3a880f9b8b857b385eb3 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Wed, 12 Apr 2017 19:45:30 +1000 -Subject: [PATCH] FLAC: Fix a buffer read overrun - -Buffer read overrun occurs when reading a FLAC file that switches -from 2 channels to one channel mid-stream. Only option is to -abort the read. - -Closes: https://github.com/erikd/libsndfile/issues/230 ---- - src/common.h | 1 + - src/flac.c | 13 +++++++++++++ - src/sndfile.c | 1 + - 3 files changed, 15 insertions(+) - -diff --git a/src/common.h b/src/common.h -index 0bd810c3..e2669b6a 100644 ---- a/src/common.h -+++ b/src/common.h -@@ -725,6 +725,7 @@ enum - SFE_FLAC_INIT_DECODER, - SFE_FLAC_LOST_SYNC, - SFE_FLAC_BAD_SAMPLE_RATE, -+ SFE_FLAC_CHANNEL_COUNT_CHANGED, - SFE_FLAC_UNKOWN_ERROR, - - SFE_WVE_NOT_WVE, -diff --git a/src/flac.c b/src/flac.c -index 84de0e26..986a7b8f 100644 ---- a/src/flac.c -+++ b/src/flac.c -@@ -434,6 +434,19 @@ sf_flac_meta_callback (const FLAC__StreamDecoder * UNUSED (decoder), const FLAC_ - - switch (metadata->type) - { case FLAC__METADATA_TYPE_STREAMINFO : -+ if (psf->sf.channels > 0 && psf->sf.channels != (int) metadata->data.stream_info.channels) -+ { psf_log_printf (psf, "Error: FLAC stream changed from %d to %d channels\n" -+ "Nothing to be but to error out.\n" , -+ psf->sf.channels, metadata->data.stream_info.channels) ; -+ psf->error = SFE_FLAC_CHANNEL_COUNT_CHANGED ; -+ return ; -+ } ; -+ -+ if (psf->sf.channels > 0 && psf->sf.samplerate != (int) metadata->data.stream_info.sample_rate) -+ { psf_log_printf (psf, "Warning: FLAC stream changed sample rates from %d to %d.\n" -+ "Carrying on as if nothing happened.", -+ psf->sf.samplerate, metadata->data.stream_info.sample_rate) ; -+ } ; - psf->sf.channels = metadata->data.stream_info.channels ; - psf->sf.samplerate = metadata->data.stream_info.sample_rate ; - psf->sf.frames = metadata->data.stream_info.total_samples ; -diff --git a/src/sndfile.c b/src/sndfile.c -index 41875610..e2a87be8 100644 ---- a/src/sndfile.c -+++ b/src/sndfile.c -@@ -245,6 +245,7 @@ ErrorStruct SndfileErrors [] = - { SFE_FLAC_INIT_DECODER , "Error : problem with initialization of the flac decoder." }, - { SFE_FLAC_LOST_SYNC , "Error : flac decoder lost sync." }, - { SFE_FLAC_BAD_SAMPLE_RATE, "Error : flac does not support this sample rate." }, -+ { SFE_FLAC_CHANNEL_COUNT_CHANGED, "Error : flac channel changed mid stream." }, - { SFE_FLAC_UNKOWN_ERROR , "Error : unknown error in flac decoder." }, - - { SFE_WVE_NOT_WVE , "Error : not a WVE file." }, diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2018-13139.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2018-13139.patch deleted file mode 100644 index f75843267b0b..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-CVE-2018-13139.patch +++ /dev/null @@ -1,31 +0,0 @@ -From df18323c622b54221ee7ace74b177cdcccc152d7 Mon Sep 17 00:00:00 2001 -From: "Brett T. Warden" <brett.t.warden@intel.com> -Date: Tue, 28 Aug 2018 12:01:17 -0700 -Subject: [PATCH] Check MAX_CHANNELS in sndfile-deinterleave - -Allocated buffer has space for only 16 channels. Verify that input file -meets this limit. - -Fixes #397 ---- - programs/sndfile-deinterleave.c | 7 +++++++ - 1 file changed, 7 insertions(+) - -diff --git a/programs/sndfile-deinterleave.c b/programs/sndfile-deinterleave.c -index 53660310..225b4d54 100644 ---- a/programs/sndfile-deinterleave.c -+++ b/programs/sndfile-deinterleave.c -@@ -89,6 +89,13 @@ main (int argc, char **argv) - exit (1) ; - } ; - -+ if (sfinfo.channels > MAX_CHANNELS) -+ { printf ("\nError : Input file '%s' has too many (%d) channels. Limit is %d.\n", -+ argv [1], sfinfo.channels, MAX_CHANNELS) ; -+ exit (1) ; -+ } ; -+ -+ - state.channels = sfinfo.channels ; - sfinfo.channels = 1 ; - diff --git a/media-libs/libsndfile/files/libsndfile-1.0.28-arm-varargs-failure.patch b/media-libs/libsndfile/files/libsndfile-1.0.28-arm-varargs-failure.patch deleted file mode 100644 index ed726f829769..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.28-arm-varargs-failure.patch +++ /dev/null @@ -1,32 +0,0 @@ -From 9d470ee5577d3ccedb1c28c7e0a7295ba17feaf5 Mon Sep 17 00:00:00 2001 -From: Erik de Castro Lopo <erikd@mega-nerd.com> -Date: Sun, 16 Apr 2017 17:54:17 +1000 -Subject: [PATCH] src/rf64.c: Fix varargs related bug - -C's <stargs.h> functionality isn't type checked so that passing an -`sf_count_t` (64 bits) by mistake in place of a `unit32_t` can cause -errors. This would be fine if it was an error on every architecture -and platform, but its not. This particular problem only manifested -on armhf and some other Arm architectures. It was not an issue on -32 bit x86. - -I have now fixed variants of this same bug several times. - -Closes: https://github.com/erikd/libsndfile/issues/229 ---- - src/rf64.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/src/rf64.c b/src/rf64.c -index b3d637fa..02dd9046 100644 ---- a/src/rf64.c -+++ b/src/rf64.c -@@ -742,7 +742,7 @@ rf64_write_header (SF_PRIVATE *psf, int calc_length) - - pad_size = psf->dataoffset - 16 - psf->header.indx ; - if (pad_size >= 0) -- psf_binheader_writef (psf, "m4z", PAD_MARKER, pad_size, make_size_t (pad_size)) ; -+ psf_binheader_writef (psf, "m4z", PAD_MARKER, (unsigned int) pad_size, make_size_t (pad_size)) ; - - if (wpriv->rf64_downgrade && (psf->filelength < RIFF_DOWNGRADE_BYTES)) - psf_binheader_writef (psf, "tm8", data_MARKER, psf->datalength) ; diff --git a/media-libs/libsndfile/files/libsndfile-1.0.29-pointer-aliasing.patch b/media-libs/libsndfile/files/libsndfile-1.0.29-pointer-aliasing.patch deleted file mode 100644 index 644bf333413f..000000000000 --- a/media-libs/libsndfile/files/libsndfile-1.0.29-pointer-aliasing.patch +++ /dev/null @@ -1,128 +0,0 @@ -From e5f9469a824fc660494b52ec3edc0dda2509594c Mon Sep 17 00:00:00 2001 -From: Arthur Taylor <art@ified.ca> -Date: Tue, 8 Sep 2020 09:31:37 -0700 -Subject: [PATCH] Opus: Fix integer bug in header parsing. Fixes issue #581. - -Fix errors in parsing an OggOpus header packet where aliased pointers of -different type widths are used with psf_binheader_readf(), resulting in -incorrect data or endian issues. Telling psf_binheader_readf() to read -an integer of fixed width, but then passing a pointer to an integer -of a different width is a bug. ---- - src/ogg_opus.c | 38 ++++++++++++++++++++++---------------- - 1 file changed, 22 insertions(+), 16 deletions(-) - -diff --git a/src/ogg_opus.c b/src/ogg_opus.c -index de66b061..b40a6fb1 100644 ---- a/src/ogg_opus.c -+++ b/src/ogg_opus.c -@@ -183,32 +183,32 @@ - #define OGG_OPUS_PREROLL (80 * 48) /* 80 milliseconds */ - - typedef struct --{ int version ; -+{ uint8_t version ; - - /* Number of channels, 1...255 */ -- int channels ; -+ uint8_t channels ; - - /* Encoder latency, the amount to skip before valid data comes out. */ -- int preskip ; -+ uint16_t preskip ; - - /* The sample rate of a the encoded source, as it may have been converted. */ -- int input_samplerate ; -+ int32_t input_samplerate ; - - /* 'baked-in' gain to apply, dB S7.8 format. Should be zero when possible. */ - int16_t gain ; - - /* Channel mapping type. See OggOpus spec */ -- int channel_mapping ; -+ uint8_t channel_mapping ; - - /* The rest is only used if channel_mapping != 0 */ - /* How many streams are there? */ -- int nb_streams ; -+ uint8_t nb_streams ; - - /* How man of those streams are coupled? (aka stereo) */ -- int nb_coupled ; -+ uint8_t nb_coupled ; - - /* Mapping of opus streams to output channels */ -- unsigned char stream_map [255] ; -+ uint8_t stream_map [255] ; - } OpusHeader ; - - typedef struct -@@ -637,6 +637,9 @@ ogg_opus_setup_decoder (SF_PRIVATE *psf, int input_samplerate) - static int - ogg_opus_setup_encoder (SF_PRIVATE *psf, OGG_PRIVATE *odata, OPUS_PRIVATE *oopus) - { int error ; -+ int lookahead ; -+ int nb_streams ; -+ int nb_coupled ; - - /* default page latency value (1000ms) */ - oopus->u.encode.latency = 1000 * 48 ; -@@ -655,16 +658,16 @@ ogg_opus_setup_encoder (SF_PRIVATE *psf, OGG_PRIVATE *odata, OPUS_PRIVATE *oopus - - if (psf->sf.channels <= 2) - { oopus->header.channel_mapping = 0 ; -- oopus->header.nb_streams = 1 ; -- oopus->header.nb_coupled = psf->sf.channels - 1 ; -+ nb_streams = 1 ; -+ nb_coupled = psf->sf.channels - 1 ; - oopus->header.stream_map [0] = 0 ; - oopus->header.stream_map [1] = 1 ; - - oopus->u.encode.state = opus_multistream_encoder_create ( - psf->sf.samplerate, - psf->sf.channels, -- oopus->header.nb_streams, -- oopus->header.nb_coupled, -+ nb_streams, -+ nb_coupled, - oopus->header.stream_map, - OPUS_APPLICATION_AUDIO, - &error) ; -@@ -683,17 +686,20 @@ ogg_opus_setup_encoder (SF_PRIVATE *psf, OGG_PRIVATE *odata, OPUS_PRIVATE *oopus - psf->sf.samplerate, - psf->sf.channels, - oopus->header.channel_mapping, -- &oopus->header.nb_streams, -- &oopus->header.nb_coupled, -+ &nb_streams, -+ &nb_coupled, - oopus->header.stream_map, - OPUS_APPLICATION_AUDIO, - &error) ; -+ - } - - if (error != OPUS_OK) - { psf_log_printf (psf, "Opus : Error, opus_multistream_encoder_create returned %s\n", opus_strerror (error)) ; - return SFE_BAD_OPEN_FORMAT ; - } ; -+ oopus->header.nb_streams = nb_streams ; -+ oopus->header.nb_coupled = nb_coupled ; - - opus_multistream_encoder_ctl (oopus->u.encode.state, OPUS_GET_BITRATE (&oopus->u.encode.bitrate)) ; - psf_log_printf (psf, "Encoding at target bitrate of %dbps\n", oopus->u.encode.bitrate) ; -@@ -711,12 +717,12 @@ ogg_opus_setup_encoder (SF_PRIVATE *psf, OGG_PRIVATE *odata, OPUS_PRIVATE *oopus - ** GOTCHA: This returns the preskip at the encoder samplerate, not the - ** granulepos rate of 48000Hz needed for header.preskip. - */ -- error = opus_multistream_encoder_ctl (oopus->u.encode.state, OPUS_GET_LOOKAHEAD (&oopus->header.preskip)) ; -+ error = opus_multistream_encoder_ctl (oopus->u.encode.state, OPUS_GET_LOOKAHEAD (&lookahead)) ; - if (error != OPUS_OK) - { psf_log_printf (psf, "Opus : OPUS_GET_LOOKAHEAD returned: %s\n", opus_strerror (error)) ; - return SFE_BAD_OPEN_FORMAT ; - } ; -- oopus->header.preskip *= oopus->sr_factor ; -+ oopus->header.preskip = lookahead * oopus->sr_factor ; - - oopus->len = OGG_OPUS_ENCODE_PACKET_LEN (psf->sf.samplerate) ; - oopus->buffer = malloc (sizeof (float) * psf->sf.channels * oopus->len) ; diff --git a/media-libs/libsndfile/libsndfile-1.0.28-r4.ebuild b/media-libs/libsndfile/libsndfile-1.0.28-r4.ebuild deleted file mode 100644 index 95ea458a1e5d..000000000000 --- a/media-libs/libsndfile/libsndfile-1.0.28-r4.ebuild +++ /dev/null @@ -1,71 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_6 pypy3 ) - -inherit python-any-r1 multilib-minimal - -MY_P=${P/_pre/pre} - -DESCRIPTION="C library for reading and writing files containing sampled sound" -HOMEPAGE="http://www.mega-nerd.com/libsndfile" -if [[ ${MY_P} == ${P} ]]; then - SRC_URI="http://www.mega-nerd.com/libsndfile/files/${P}.tar.gz" -else - SRC_URI="http://www.mega-nerd.com/tmp/${MY_P}b.tar.gz" -fi - -LICENSE="LGPL-2.1" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="alsa minimal sqlite static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=" - !minimal? ( - >=media-libs/flac-1.2.1-r5[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0[${MULTILIB_USEDEP}] - >=media-libs/libvorbis-1.3.3-r1[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib ) - sqlite? ( >=dev-db/sqlite-3.2 )" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - test? ( ${PYTHON_DEPS} )" - -S=${WORKDIR}/${MY_P} - -PATCHES=( - "${FILESDIR}"/${P}-arm-varargs-failure.patch - "${FILESDIR}"/${P}-CVE-2017-12562.patch - "${FILESDIR}"/${P}-CVE-2018-13139.patch - "${FILESDIR}"/${P}-CVE-2017-6892.patch - "${FILESDIR}"/${P}-CVE-2017-836{3,5,2}.patch - "${FILESDIR}"/${P}-CVE-2017-14634.patch -) - -pkg_setup() { - use test && python-any-r1_pkg_setup -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ - --disable-octave \ - --enable-gcc-pipe \ - --enable-gcc-opt \ - $(use_enable static-libs static) \ - $(use_enable !minimal external-libs) \ - $(multilib_native_enable full-suite) \ - $(multilib_native_use_enable alsa) \ - $(multilib_native_use_enable sqlite) -} - -multilib_src_install_all() { - einstalldocs - - # package provides .pc files - find "${D}" -name '*.la' -delete || die -} diff --git a/media-libs/libsndfile/libsndfile-1.0.29.ebuild b/media-libs/libsndfile/libsndfile-1.0.29.ebuild deleted file mode 100644 index 37cae9590d1e..000000000000 --- a/media-libs/libsndfile/libsndfile-1.0.29.ebuild +++ /dev/null @@ -1,79 +0,0 @@ -# Copyright 1999-2020 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{6,7,8} pypy3 ) - -if [[ ${PV} == *9999 ]]; then - inherit autotools git-r3 - EGIT_REPO_URI="https://github.com/erikd/libsndfile.git" -else - SRC_URI="https://github.com/erikd/libsndfile/releases/download/v${PV}/${P}.tar.bz2" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -fi -inherit python-any-r1 multilib-minimal - -DESCRIPTION="C library for reading and writing files containing sampled sound" -HOMEPAGE="http://www.mega-nerd.com/libsndfile" - -LICENSE="LGPL-2.1" -SLOT="0" -IUSE="alsa minimal sqlite static-libs test" -RESTRICT="!test? ( test )" - -RDEPEND=" - !minimal? ( - >=media-libs/flac-1.2.1-r5:=[${MULTILIB_USEDEP}] - >=media-libs/libogg-1.3.0:=[${MULTILIB_USEDEP}] - >=media-libs/libvorbis-1.3.3-r1:=[${MULTILIB_USEDEP}] - >=media-libs/opus-1.1:=[${MULTILIB_USEDEP}] - ) - alsa? ( media-libs/alsa-lib:= ) - sqlite? ( >=dev-db/sqlite-3.2 )" -DEPEND="${RDEPEND}" -BDEPEND=" - virtual/pkgconfig - test? ( ${PYTHON_DEPS} )" -if [[ ${PV} == *9999 ]]; then - BDEPEND+=" - ${PYTHON_DEPS} - sys-devel/autogen - " -fi - -PATCHES=( - # bug 719020: backported, remove on version bump - "${FILESDIR}"/${P}-pointer-aliasing.patch -) - -pkg_setup() { - if use test || [[ ${PV} == *9999 ]]; then - python-any-r1_pkg_setup - fi -} - -src_prepare() { - default - - [[ ${PV} == *9999 ]] && eautoreconf -} - -multilib_src_configure() { - ECONF_SOURCE="${S}" econf \ - --disable-octave \ - --disable-werror \ - $(use_enable static-libs static) \ - $(use_enable !minimal external-libs) \ - $(multilib_native_enable full-suite) \ - $(multilib_native_use_enable alsa) \ - $(multilib_native_use_enable sqlite) \ - PYTHON="${EPYTHON}" -} - -multilib_src_install_all() { - einstalldocs - - # package provides .pc files - find "${D}" -name '*.la' -delete || die -} |