Compare commits
39 Commits
Author | SHA1 | Date |
---|---|---|
Fedora Release Engineering | 9c32af787f | |
Michel Alexandre Salim | d245ccf907 | |
Michal Hlavinka | 9c40c68abf | |
Michal Hlavinka | a9c1148dc6 | |
Fedora Release Engineering | 2d6b76d1ea | |
Michal Hlavinka | 801edf9ce2 | |
Fedora Release Engineering | b7779cca6b | |
Michal Hlavinka | ea2d4e7c9a | |
Michal Hlavinka | 8356ca8394 | |
Fedora Release Engineering | 696a8a4687 | |
Michal Hlavinka | 668604cc7c | |
Michal Hlavinka | ce95c3464e | |
Michal Hlavinka | 6788afa496 | |
Michal Hlavinka | f052557851 | |
Michal Hlavinka | 17efde6a79 | |
Fedora Release Engineering | af3b7d2a10 | |
Tom Stellard | b5b511716f | |
Fedora Release Engineering | 8d947c04e0 | |
Fedora Release Engineering | be5ad4c1a8 | |
Fedora Release Engineering | 8c44130177 | |
Fedora Release Engineering | aa6efdab5b | |
Igor Gnatenko | 404fe19f63 | |
Igor Gnatenko | 484e0d5108 | |
Igor Gnatenko | e5b1db49cd | |
Fedora Release Engineering | da9cd69fa3 | |
Michal Hlavinka | b17f1f4638 | |
Fedora Release Engineering | 63ce95178c | |
Michal Hlavinka | 782f864162 | |
Fedora Release Engineering | a97a847564 | |
Fedora Release Engineering | 2d9a44de92 | |
Michal Hlavinka | 376b103aa2 | |
Michal Hlavinka | 1108fba06f | |
Michal Hlavinka | cd35b896cd | |
Michal Hlavinka | b6e20e2bf6 | |
Michal Hlavinka | 91405f64a1 | |
Michal Hlavinka | f55d08ac6b | |
Fedora Release Engineering | de2d85ec4c | |
Michal Hlavinka | 94936dcb8b | |
Michal Hlavinka | da22f99a31 |
|
@ -3,3 +3,7 @@ libsndfile-1.0.21.tar.gz
|
|||
/libsndfile-1.0.23.tar.gz
|
||||
/libsndfile-1.0.24.tar.gz
|
||||
/libsndfile-1.0.25.tar.gz
|
||||
/libsndfile-1.0.27.tar.gz
|
||||
/libsndfile-1.0.28.tar.gz
|
||||
/libsndfile-1.0.31.tar.bz2
|
||||
/libsndfile-1.1.0.tar.xz
|
||||
|
|
|
@ -1,22 +0,0 @@
|
|||
From 53c9f0bcaf20203bb4ee56da760a6e5118e6f93b Mon Sep 17 00:00:00 2001
|
||||
From: Erik de Castro Lopo <erikd@mega-nerd.com>
|
||||
Date: Mon, 9 Nov 2015 19:18:48 +1100
|
||||
Subject: [PATCH] src/common.c: Pull fix from 1.0.25
|
||||
|
||||
---
|
||||
src/common.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/common.c b/src/common.c
|
||||
index c6b88cc..830c43e 100644
|
||||
--- a/src/common.c
|
||||
+++ b/src/common.c
|
||||
@@ -805,7 +805,7 @@ header_read (SF_PRIVATE *psf, void *ptr, int bytes)
|
||||
if (psf->headindex + bytes > SIGNED_SIZEOF (psf->header))
|
||||
{ int most ;
|
||||
|
||||
- most = SIGNED_SIZEOF (psf->header) - psf->headindex ;
|
||||
+ most = SIGNED_SIZEOF (psf->header) - psf->headend ;
|
||||
psf_fread (psf->header + psf->headend, 1, most, psf) ;
|
||||
memcpy (ptr, psf->header + psf->headend, most) ;
|
||||
psf->headend = psf->headindex += most ;
|
|
@ -1,51 +0,0 @@
|
|||
diff -up libsndfile-1.0.25/src/sd2.c.cve2014_9496 libsndfile-1.0.25/src/sd2.c
|
||||
--- libsndfile-1.0.25/src/sd2.c.cve2014_9496 2011-01-19 11:10:36.000000000 +0100
|
||||
+++ libsndfile-1.0.25/src/sd2.c 2015-01-13 17:00:35.920285526 +0100
|
||||
@@ -395,6 +395,21 @@ read_marker (const unsigned char * data,
|
||||
return 0x666 ;
|
||||
} /* read_marker */
|
||||
|
||||
+static inline int
|
||||
+read_rsrc_marker (const SD2_RSRC *prsrc, int offset)
|
||||
+{ const unsigned char * data = prsrc->rsrc_data ;
|
||||
+
|
||||
+ if (offset < 0 || offset + 3 >= prsrc->rsrc_len)
|
||||
+ return 0 ;
|
||||
+
|
||||
+ if (CPU_IS_BIG_ENDIAN)
|
||||
+ return (((uint32_t) data [offset]) << 24) + (data [offset + 1] << 16) + (data [offset + 2] << 8) + data [offset + 3] ;
|
||||
+ if (CPU_IS_LITTLE_ENDIAN)
|
||||
+ return data [offset] + (data [offset + 1] << 8) + (data [offset + 2] << 16) + (((uint32_t) data [offset + 3]) << 24) ;
|
||||
+
|
||||
+ return 0 ;
|
||||
+} /* read_rsrc_marker */
|
||||
+
|
||||
static void
|
||||
read_str (const unsigned char * data, int offset, char * buffer, int buffer_len)
|
||||
{ int k ;
|
||||
@@ -496,6 +511,11 @@ sd2_parse_rsrc_fork (SF_PRIVATE *psf)
|
||||
|
||||
rsrc.type_offset = rsrc.map_offset + 30 ;
|
||||
|
||||
+ if (rsrc.map_offset + 28 > rsrc.rsrc_len)
|
||||
+ { psf_log_printf (psf, "Bad map offset.\n") ;
|
||||
+ goto parse_rsrc_fork_cleanup ;
|
||||
+ } ;
|
||||
+
|
||||
rsrc.type_count = read_short (rsrc.rsrc_data, rsrc.map_offset + 28) + 1 ;
|
||||
if (rsrc.type_count < 1)
|
||||
{ psf_log_printf (psf, "Bad type count.\n") ;
|
||||
@@ -512,7 +532,12 @@ sd2_parse_rsrc_fork (SF_PRIVATE *psf)
|
||||
|
||||
rsrc.str_index = -1 ;
|
||||
for (k = 0 ; k < rsrc.type_count ; k ++)
|
||||
- { marker = read_marker (rsrc.rsrc_data, rsrc.type_offset + k * 8) ;
|
||||
+ { if (rsrc.type_offset + k * 8 > rsrc.rsrc_len)
|
||||
+ { psf_log_printf (psf, "Bad rsrc marker.\n") ;
|
||||
+ goto parse_rsrc_fork_cleanup ;
|
||||
+ } ;
|
||||
+
|
||||
+ marker = read_rsrc_marker (&rsrc, rsrc.type_offset + k * 8) ;
|
||||
|
||||
if (marker == STR_MARKER)
|
||||
{ rsrc.str_index = k ;
|
|
@ -1,90 +0,0 @@
|
|||
From d2a87385c1ca1d72918e9a2875d24f202a5093e8 Mon Sep 17 00:00:00 2001
|
||||
From: Erik de Castro Lopo <erikd@mega-nerd.com>
|
||||
Date: Sat, 7 Feb 2015 15:45:10 +1100
|
||||
Subject: [PATCH] src/common.c : Fix a header parsing bug.
|
||||
|
||||
When the file header is bigger that SF_HEADER_LEN, the code would seek
|
||||
instead of reading causing file parse errors.
|
||||
|
||||
The current header parsing and writing code *badly* needs a re-write.
|
||||
---
|
||||
src/common.c | 27 +++++++++++----------------
|
||||
1 file changed, 11 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/common.c b/src/common.c
|
||||
index dd4edb7..c6b88cc 100644
|
||||
--- a/src/common.c
|
||||
+++ b/src/common.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
-** Copyright (C) 1999-2011 Erik de Castro Lopo <erikd@mega-nerd.com>
|
||||
+** Copyright (C) 1999-2015 Erik de Castro Lopo <erikd@mega-nerd.com>
|
||||
**
|
||||
** This program is free software; you can redistribute it and/or modify
|
||||
** it under the terms of the GNU Lesser General Public License as published by
|
||||
@@ -800,21 +800,16 @@ header_read (SF_PRIVATE *psf, void *ptr, int bytes)
|
||||
{ int count = 0 ;
|
||||
|
||||
if (psf->headindex >= SIGNED_SIZEOF (psf->header))
|
||||
- { memset (ptr, 0, SIGNED_SIZEOF (psf->header) - psf->headindex) ;
|
||||
-
|
||||
- /* This is the best that we can do. */
|
||||
- psf_fseek (psf, bytes, SEEK_CUR) ;
|
||||
- return bytes ;
|
||||
- } ;
|
||||
+ return psf_fread (ptr, 1, bytes, psf) ;
|
||||
|
||||
if (psf->headindex + bytes > SIGNED_SIZEOF (psf->header))
|
||||
{ int most ;
|
||||
|
||||
most = SIGNED_SIZEOF (psf->header) - psf->headindex ;
|
||||
psf_fread (psf->header + psf->headend, 1, most, psf) ;
|
||||
- memset ((char *) ptr + most, 0, bytes - most) ;
|
||||
-
|
||||
- psf_fseek (psf, bytes - most, SEEK_CUR) ;
|
||||
+ memcpy (ptr, psf->header + psf->headend, most) ;
|
||||
+ psf->headend = psf->headindex += most ;
|
||||
+ psf_fread ((char *) ptr + most, bytes - most, 1, psf) ;
|
||||
return bytes ;
|
||||
} ;
|
||||
|
||||
@@ -822,7 +817,7 @@ header_read (SF_PRIVATE *psf, void *ptr, int bytes)
|
||||
{ count = psf_fread (psf->header + psf->headend, 1, bytes - (psf->headend - psf->headindex), psf) ;
|
||||
if (count != bytes - (int) (psf->headend - psf->headindex))
|
||||
{ psf_log_printf (psf, "Error : psf_fread returned short count.\n") ;
|
||||
- return 0 ;
|
||||
+ return count ;
|
||||
} ;
|
||||
psf->headend += count ;
|
||||
} ;
|
||||
@@ -836,7 +831,6 @@ header_read (SF_PRIVATE *psf, void *ptr, int bytes)
|
||||
static void
|
||||
header_seek (SF_PRIVATE *psf, sf_count_t position, int whence)
|
||||
{
|
||||
-
|
||||
switch (whence)
|
||||
{ case SEEK_SET :
|
||||
if (position > SIGNED_SIZEOF (psf->header))
|
||||
@@ -885,8 +879,7 @@ header_seek (SF_PRIVATE *psf, sf_count_t position, int whence)
|
||||
|
||||
static int
|
||||
header_gets (SF_PRIVATE *psf, char *ptr, int bufsize)
|
||||
-{
|
||||
- int k ;
|
||||
+{ int k ;
|
||||
|
||||
for (k = 0 ; k < bufsize - 1 ; k++)
|
||||
{ if (psf->headindex < psf->headend)
|
||||
@@ -1073,8 +1066,10 @@ psf_binheader_readf (SF_PRIVATE *psf, char const *format, ...)
|
||||
case 'j' :
|
||||
/* Get the seek position first. */
|
||||
count = va_arg (argptr, size_t) ;
|
||||
- header_seek (psf, count, SEEK_CUR) ;
|
||||
- byte_count += count ;
|
||||
+ if (count)
|
||||
+ { header_seek (psf, count, SEEK_CUR) ;
|
||||
+ byte_count += count ;
|
||||
+ } ;
|
||||
break ;
|
||||
|
||||
default :
|
|
@ -1,56 +1,103 @@
|
|||
diff -up libsndfile-1.0.25/src/gsm610.c~ libsndfile-1.0.25/src/gsm610.c
|
||||
--- libsndfile-1.0.25/src/gsm610.c~ 2011-01-19 12:12:14.000000000 +0200
|
||||
+++ libsndfile-1.0.25/src/gsm610.c 2011-11-12 02:05:23.385054757 +0200
|
||||
diff -up libsndfile-1.1.0/CMakeLists.txt.system-gsm libsndfile-1.1.0/CMakeLists.txt
|
||||
--- libsndfile-1.1.0/CMakeLists.txt.system-gsm 2022-03-27 14:39:27.000000000 +0200
|
||||
+++ libsndfile-1.1.0/CMakeLists.txt 2022-04-25 22:41:46.472440316 +0200
|
||||
@@ -286,7 +286,6 @@ add_library (sndfile
|
||||
src/double64.c
|
||||
src/ima_adpcm.c
|
||||
src/ms_adpcm.c
|
||||
- src/gsm610.c
|
||||
src/dwvw.c
|
||||
src/vox_adpcm.c
|
||||
src/interleave.c
|
||||
@@ -347,23 +346,6 @@ add_library (sndfile
|
||||
src/mpeg.c
|
||||
src/mpeg_decode.c
|
||||
src/mpeg_l3_encode.c
|
||||
- src/GSM610/config.h
|
||||
- src/GSM610/gsm.h
|
||||
- src/GSM610/gsm610_priv.h
|
||||
- src/GSM610/add.c
|
||||
- src/GSM610/code.c
|
||||
- src/GSM610/decode.c
|
||||
- src/GSM610/gsm_create.c
|
||||
- src/GSM610/gsm_decode.c
|
||||
- src/GSM610/gsm_destroy.c
|
||||
- src/GSM610/gsm_encode.c
|
||||
- src/GSM610/gsm_option.c
|
||||
- src/GSM610/long_term.c
|
||||
- src/GSM610/lpc.c
|
||||
- src/GSM610/preprocess.c
|
||||
- src/GSM610/rpe.c
|
||||
- src/GSM610/short_term.c
|
||||
- src/GSM610/table.c
|
||||
src/G72x/g72x.h
|
||||
src/G72x/g72x_priv.h
|
||||
src/G72x/g721.c
|
||||
@@ -412,6 +394,7 @@ target_link_libraries (sndfile
|
||||
$<$<BOOL:${HAVE_EXTERNAL_XIPH_LIBS}>:Opus::opus>
|
||||
$<$<BOOL:${HAVE_MPEG}>:MPG123::libmpg123>
|
||||
$<$<BOOL:${HAVE_MPEG}>:Lame::Lame>
|
||||
+ -lgsm
|
||||
)
|
||||
set_target_properties (sndfile PROPERTIES
|
||||
PUBLIC_HEADER "${sndfile_HDRS}"
|
||||
diff -up libsndfile-1.1.0/Makefile.am.system-gsm libsndfile-1.1.0/Makefile.am
|
||||
--- libsndfile-1.1.0/Makefile.am.system-gsm 2022-03-27 10:55:12.000000000 +0200
|
||||
+++ libsndfile-1.1.0/Makefile.am 2022-04-25 22:39:56.976112391 +0200
|
||||
@@ -47,7 +47,6 @@ SYMBOL_FILES = src/Symbols.gnu-binutils
|
||||
|
||||
EXTRA_DIST += include/sndfile.h.in src/config.h.in src/test_endswap.tpl src/test_endswap.def \
|
||||
$(SYMBOL_FILES) src/create_symbols_file.py src/binheader_writef_check.py \
|
||||
- src/GSM610/README src/GSM610/COPYRIGHT src/GSM610/ChangeLog \
|
||||
src/G72x/README src/G72x/README.original src/G72x/ChangeLog \
|
||||
src/make-static-lib-hidden-privates.sh \
|
||||
src/config.h.cmake
|
||||
@@ -72,7 +71,7 @@ src_libsndfile_la_SOURCES = src/sndfile.
|
||||
src/ogg.c src/ogg.h src/ogg_vorbis.c src/ogg_speex.c src/ogg_pcm.c src/ogg_opus.c src/ogg_vcomment.c src/ogg_vcomment.h \
|
||||
src/common.h src/sfconfig.h src/sfendian.h src/wavlike.h src/sf_unistd.h src/chanmap.h src/mpeg.c
|
||||
nodist_src_libsndfile_la_SOURCES = $(nodist_include_HEADERS)
|
||||
-src_libsndfile_la_LIBADD = src/GSM610/libgsm.la src/G72x/libg72x.la src/ALAC/libalac.la \
|
||||
+src_libsndfile_la_LIBADD = -lgsm src/G72x/libg72x.la src/ALAC/libalac.la \
|
||||
src/libcommon.la $(EXTERNAL_XIPH_LIBS) -lm $(MPEG_LIBS)
|
||||
EXTRA_src_libsndfile_la_DEPENDENCIES = $(SYMBOL_FILES)
|
||||
|
||||
@@ -91,17 +90,6 @@ src_test_main_SOURCES = src/test_main.c
|
||||
src/test_binheader_writef.c src/test_nms_adpcm.c
|
||||
src_test_main_LDADD = src/libcommon.la
|
||||
|
||||
-##############
|
||||
-# src/GSM610 #
|
||||
-##############
|
||||
-
|
||||
-noinst_LTLIBRARIES += src/GSM610/libgsm.la
|
||||
-src_GSM610_libgsm_la_SOURCES = src/GSM610/config.h src/GSM610/gsm.h src/GSM610/gsm610_priv.h \
|
||||
- src/GSM610/add.c src/GSM610/code.c src/GSM610/decode.c src/GSM610/gsm_create.c \
|
||||
- src/GSM610/gsm_decode.c src/GSM610/gsm_destroy.c src/GSM610/gsm_encode.c \
|
||||
- src/GSM610/gsm_option.c src/GSM610/long_term.c src/GSM610/lpc.c src/GSM610/preprocess.c \
|
||||
- src/GSM610/rpe.c src/GSM610/short_term.c src/GSM610/table.c
|
||||
-
|
||||
############
|
||||
# src/G72x #
|
||||
############
|
||||
diff -up libsndfile-1.1.0/src/gsm610.c.system-gsm libsndfile-1.1.0/src/gsm610.c
|
||||
--- libsndfile-1.1.0/src/gsm610.c.system-gsm 2021-05-17 11:12:28.000000000 +0200
|
||||
+++ libsndfile-1.1.0/src/gsm610.c 2022-04-25 22:37:21.059496852 +0200
|
||||
@@ -27,7 +27,7 @@
|
||||
#include "sfendian.h"
|
||||
#include "common.h"
|
||||
#include "wav_w64.h"
|
||||
#include "wavlike.h"
|
||||
-#include "GSM610/gsm.h"
|
||||
+#include <gsm.h>
|
||||
|
||||
#define GSM610_BLOCKSIZE 33
|
||||
#define GSM610_SAMPLES 160
|
||||
@@ -388,7 +388,8 @@ gsm610_seek (SF_PRIVATE *psf, int UNUSED
|
||||
@@ -391,7 +391,8 @@ gsm610_seek (SF_PRIVATE *psf, int UNUSED
|
||||
psf_fseek (psf, psf->dataoffset, SEEK_SET) ;
|
||||
pgsm610->blockcount = 0 ;
|
||||
|
||||
- gsm_init (pgsm610->gsm_data) ;
|
||||
+ gsm_destroy (pgsm610->gsm_data) ;
|
||||
+ pgsm610->gsm_data = gsm_create () ;
|
||||
+ gsm_destroy (pgsm610->gsm_data) ;
|
||||
+ pgsm610->gsm_data = gsm_create () ;
|
||||
if ((SF_CONTAINER (psf->sf.format)) == SF_FORMAT_WAV ||
|
||||
(SF_CONTAINER (psf->sf.format)) == SF_FORMAT_W64)
|
||||
gsm_option (pgsm610->gsm_data, GSM_OPT_WAV49, &true_flag) ;
|
||||
diff -up libsndfile-1.0.25/src/Makefile.am~ libsndfile-1.0.25/src/Makefile.am
|
||||
--- libsndfile-1.0.25/src/Makefile.am~ 2011-07-07 12:40:25.000000000 +0300
|
||||
+++ libsndfile-1.0.25/src/Makefile.am 2011-11-12 01:46:19.760807068 +0200
|
||||
@@ -8,7 +8,7 @@ lib_LTLIBRARIES = libsndfile.la
|
||||
include_HEADERS = sndfile.hh
|
||||
nodist_include_HEADERS = sndfile.h
|
||||
|
||||
-noinst_LTLIBRARIES = GSM610/libgsm.la G72x/libg72x.la libcommon.la
|
||||
+noinst_LTLIBRARIES = G72x/libg72x.la libcommon.la
|
||||
|
||||
OS_SPECIFIC_CFLAGS = @OS_SPECIFIC_CFLAGS@
|
||||
OS_SPECIFIC_LINKS = @OS_SPECIFIC_LINKS@
|
||||
@@ -49,7 +49,7 @@ endif
|
||||
libsndfile_la_LDFLAGS = -no-undefined -version-info @SHARED_VERSION_INFO@ @SHLIB_VERSION_ARG@
|
||||
libsndfile_la_SOURCES = $(FILESPECIFIC) $(noinst_HEADERS)
|
||||
nodist_libsndfile_la_SOURCES = $(nodist_include_HEADERS)
|
||||
-libsndfile_la_LIBADD = libcommon.la GSM610/libgsm.la G72x/libg72x.la \
|
||||
+libsndfile_la_LIBADD = libcommon.la -lgsm G72x/libg72x.la \
|
||||
@EXTERNAL_LIBS@ -lm
|
||||
|
||||
libcommon_la_SOURCES = $(COMMON)
|
||||
@@ -57,12 +57,6 @@ libcommon_la_SOURCES = $(COMMON)
|
||||
#======================================================================
|
||||
# Subdir libraries.
|
||||
|
||||
-GSM610_libgsm_la_SOURCES = GSM610/config.h GSM610/gsm.h GSM610/gsm610_priv.h \
|
||||
- GSM610/add.c GSM610/code.c GSM610/decode.c GSM610/gsm_create.c \
|
||||
- GSM610/gsm_decode.c GSM610/gsm_destroy.c GSM610/gsm_encode.c \
|
||||
- GSM610/gsm_option.c GSM610/long_term.c GSM610/lpc.c GSM610/preprocess.c \
|
||||
- GSM610/rpe.c GSM610/short_term.c GSM610/table.c
|
||||
-
|
||||
G72x_libg72x_la_SOURCES = $(COMMON)G72x/g72x.h G72x/g72x_priv.h \
|
||||
G72x/g721.c G72x/g723_16.c G72x/g723_24.c G72x/g723_40.c G72x/g72x.c
|
||||
|
||||
|
|
|
@ -1,25 +0,0 @@
|
|||
From 725c7dbb95bfaf8b4bb7b04820e3a00cceea9ce6 Mon Sep 17 00:00:00 2001
|
||||
From: Erik de Castro Lopo <erikd@mega-nerd.com>
|
||||
Date: Wed, 24 Dec 2014 21:02:35 +1100
|
||||
Subject: [PATCH] src/file_io.c : Prevent potential divide-by-zero.
|
||||
|
||||
Closes: https://github.com/erikd/libsndfile/issues/92
|
||||
---
|
||||
src/file_io.c | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/file_io.c b/src/file_io.c
|
||||
index 26d3d6d..6ccab78 100644
|
||||
--- a/src/file_io.c
|
||||
+++ b/src/file_io.c
|
||||
@@ -358,6 +358,9 @@ psf_fwrite (const void *ptr, sf_count_t bytes, sf_count_t items, SF_PRIVATE *psf
|
||||
{ sf_count_t total = 0 ;
|
||||
ssize_t count ;
|
||||
|
||||
+ if (bytes == 0 || items == 0)
|
||||
+ return 0 ;
|
||||
+
|
||||
if (psf->virtual_io)
|
||||
return psf->vio.write (ptr, bytes*items, psf->vio_user_data) / bytes ;
|
||||
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
From cefd7b59df628eca240af3c136d66137c8e94888 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?IOhannes=20m=20zm=C3=B6lnig?= <zmoelnig@iem.at>
|
||||
Date: Thu, 8 Sep 2022 10:49:36 +0200
|
||||
Subject: [PATCH] tests: Use fuzzy comparison in test-suite
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
Using exact comparison ("a == b") when comparing expected with computed
|
||||
test data fails the test-suite on many architectures (including, but not
|
||||
limited to armhf and arm64).
|
||||
|
||||
Instead, use epsilon(for now, FLT_EPSILON and DBL_EPSILON) to compare
|
||||
floating point numbers for equality.
|
||||
|
||||
|
||||
Closes: https://github.com/libsndfile/libsndfile/issues/866
|
||||
|
||||
Signed-off-by: IOhannes m zmölnig <zmoelnig@iem.at>
|
||||
---
|
||||
tests/utils.tpl | 27 +++++++++++++++++++++++++--
|
||||
1 file changed, 25 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/tests/utils.tpl b/tests/utils.tpl
|
||||
index c68e3a26e..0d1cd8bb9 100644
|
||||
--- a/tests/utils.tpl
|
||||
+++ b/tests/utils.tpl
|
||||
@@ -193,6 +193,7 @@ sf_count_t file_length_fd (int fd) ;
|
||||
#include <string.h>
|
||||
#include <ctype.h>
|
||||
#include <math.h>
|
||||
+#include <float.h>
|
||||
#include <fcntl.h>
|
||||
#include <sys/stat.h>
|
||||
|
||||
@@ -215,6 +216,28 @@ sf_count_t file_length_fd (int fd) ;
|
||||
#define O_BINARY 0
|
||||
#endif
|
||||
|
||||
+
|
||||
+/*
|
||||
+** Compare for equality, with epsilon
|
||||
+*/
|
||||
+static inline int
|
||||
+equals_short (const short a, const short b)
|
||||
+{ return (a == b);
|
||||
+} /* equals_short */
|
||||
+static inline int
|
||||
+equals_int (const int a, const int b)
|
||||
+{ return (a == b);
|
||||
+} /* equals_int */
|
||||
+static inline int
|
||||
+equals_float (const float a, const float b)
|
||||
+{ return (fabsf(a - b) <= FLT_EPSILON);
|
||||
+} /* equals_float */
|
||||
+static inline int
|
||||
+equals_double (const double a, const double b)
|
||||
+{ return (fabs(a - b) <= DBL_EPSILON);
|
||||
+} /* equals_double */
|
||||
+
|
||||
+
|
||||
[+ FOR float_type +]
|
||||
void
|
||||
gen_windowed_sine_[+ (get "name") +] ([+ (get "name") +] *data, int len, double maximum)
|
||||
@@ -752,8 +775,8 @@ compare_[+ (get "io_element") +]_or_die (const [+ (get "io_element") +] *expecte
|
||||
unsigned k ;
|
||||
|
||||
for (k = 0 ; k < count ; k++)
|
||||
- if (expected [k] != actual [k])
|
||||
- { printf ("\n\nLine %d : Error at index %d, got " [+ (get "format_str") +] ", should be " [+ (get "format_str") +] ".\n\n", line_num, k, actual [k], expected [k]) ;
|
||||
+ if (!equals_[+ (get "io_element") +](expected [k], actual [k]))
|
||||
+ { printf ("\n\nLine %d : Error at index %d, got " [+ (get "format_str") +] ", should be " [+ (get "format_str") +] "(delta=" [+ (get "format_str") +] " ).\n\n", line_num, k, actual [k], expected [k], actual [k] - expected [k]) ;
|
||||
exit (1) ;
|
||||
} ;
|
||||
|
147
libsndfile.spec
147
libsndfile.spec
|
@ -1,27 +1,28 @@
|
|||
Summary: Library for reading and writing sound files
|
||||
Name: libsndfile
|
||||
Version: 1.0.25
|
||||
Release: 20%{?dist}
|
||||
Version: 1.1.0
|
||||
Release: 6%{?dist}
|
||||
License: LGPLv2+ and GPLv2+ and BSD
|
||||
Group: System Environment/Libraries
|
||||
URL: http://www.mega-nerd.com/libsndfile/
|
||||
Source0: http://www.mega-nerd.com/libsndfile/files/libsndfile-%{version}.tar.gz
|
||||
Patch0: %{name}-1.0.25-system-gsm.patch
|
||||
Patch1: libsndfile-1.0.25-zerodivfix.patch
|
||||
Patch2: libsndfile-1.0.25-cve2014_9496.patch
|
||||
|
||||
# 2x from upstream, for <= 1.0.25, rhbz#1277899
|
||||
Patch3: libsndfile-1.0.25-d2a87385c1ca1d72918e9a2875d24f202a5093e8.patch
|
||||
Patch4: libsndfile-1.0.25-53c9f0bcaf20203bb4ee56da760a6e5118e6f93b.patch
|
||||
|
||||
URL: http://libsndfile.github.io/libsndfile/
|
||||
Source0: https://github.com/libsndfile/libsndfile/releases/download/%{version}/libsndfile-%{version}.tar.xz
|
||||
Patch0: libsndfile-1.0.25-system-gsm.patch
|
||||
Patch1: libsndfile-1.1.0-cefd7b59.patch
|
||||
BuildRequires: autogen
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: alsa-lib-devel
|
||||
BuildRequires: flac-devel
|
||||
BuildRequires: gcc
|
||||
BuildRequires: libogg-devel
|
||||
BuildRequires: libvorbis-devel
|
||||
BuildRequires: pkgconfig
|
||||
BuildRequires: sqlite-devel
|
||||
BuildRequires: gsm-devel
|
||||
BuildRequires: libtool
|
||||
BuildRequires: make
|
||||
BuildRequires: python3
|
||||
BuildRequires: opus-devel
|
||||
BuildRequires: lame-devel
|
||||
BuildRequires: mpg123-devel
|
||||
|
||||
|
||||
%description
|
||||
|
@ -34,7 +35,6 @@ compiles and runs on *nix, MacOS, and Win32.
|
|||
|
||||
%package devel
|
||||
Summary: Development files for libsndfile
|
||||
Group: Development/Libraries
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release} pkgconfig
|
||||
|
||||
|
||||
|
@ -46,7 +46,6 @@ This package contains files needed to develop with libsndfile.
|
|||
|
||||
%package utils
|
||||
Summary: Command Line Utilities for libsndfile
|
||||
Group: Applications/Multimedia
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
|
||||
|
||||
|
@ -58,11 +57,8 @@ This package contains command line utilities for libsndfile.
|
|||
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1 -b .zerodivfix
|
||||
%patch2 -p1 -b .cve2014_9496
|
||||
%patch3 -p1 -b .d2a87385c1ca1d72918e9a2875d24f202a5093e8
|
||||
%patch4 -p1 -b .53c9f0bcaf20203bb4ee56da760a6e5118e6f93b
|
||||
%patch0 -p1 -b .system-gsm
|
||||
%patch1 -p1 -b .cefd7b59
|
||||
rm -r src/GSM610
|
||||
|
||||
%build
|
||||
|
@ -72,20 +68,22 @@ autoreconf -I M4 -fiv # for system-gsm patch
|
|||
--enable-sqlite \
|
||||
--enable-alsa \
|
||||
--enable-largefile \
|
||||
--enable-mpeg \
|
||||
--disable-static
|
||||
|
||||
# Get rid of rpath
|
||||
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
|
||||
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
|
||||
|
||||
make %{?_smp_mflags}
|
||||
%make_build
|
||||
|
||||
|
||||
%install
|
||||
make install DESTDIR=$RPM_BUILD_ROOT
|
||||
%make_install
|
||||
rm -rf __docs
|
||||
cp -pR $RPM_BUILD_ROOT%{_docdir}/libsndfile1-dev/html __docs
|
||||
rm -rf $RPM_BUILD_ROOT%{_docdir}/libsndfile1-dev
|
||||
mkdir __docs
|
||||
cp -pR $RPM_BUILD_ROOT%{_docdir}/%{name}/* __docs
|
||||
rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}
|
||||
find %{buildroot} -type f -name "*.la" -delete
|
||||
|
||||
# fix multilib issues
|
||||
|
@ -113,15 +111,14 @@ rm -f %{buildroot}%{_bindir}/sndfile-jackplay
|
|||
LD_LIBRARY_PATH=$PWD/src/.libs make check
|
||||
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
%ldconfig_scriptlets
|
||||
|
||||
|
||||
%files
|
||||
%{!?_licensedir:%global license %%doc}
|
||||
%license COPYING
|
||||
%doc AUTHORS README NEWS
|
||||
# NEWS files is missing in 1.1.0, check if it was re-added
|
||||
%doc AUTHORS README
|
||||
%{_libdir}/%{name}.so.*
|
||||
|
||||
%files utils
|
||||
|
@ -134,7 +131,6 @@ LD_LIBRARY_PATH=$PWD/src/.libs make check
|
|||
%{_bindir}/sndfile-metadata-get
|
||||
%{_bindir}/sndfile-metadata-set
|
||||
%{_bindir}/sndfile-play
|
||||
%{_bindir}/sndfile-regtest
|
||||
%{_bindir}/sndfile-salvage
|
||||
%{_mandir}/man1/sndfile-cmp.1*
|
||||
%{_mandir}/man1/sndfile-concat.1*
|
||||
|
@ -145,9 +141,10 @@ LD_LIBRARY_PATH=$PWD/src/.libs make check
|
|||
%{_mandir}/man1/sndfile-metadata-get.1*
|
||||
%{_mandir}/man1/sndfile-metadata-set.1*
|
||||
%{_mandir}/man1/sndfile-play.1*
|
||||
%{_mandir}/man1/sndfile-salvage.1*
|
||||
|
||||
%files devel
|
||||
%doc __docs/* ChangeLog
|
||||
%doc __docs ChangeLog
|
||||
%{_includedir}/sndfile.h
|
||||
%{_includedir}/sndfile.hh
|
||||
%{_includedir}/sndfile-%{__isa_bits}.h
|
||||
|
@ -156,6 +153,96 @@ LD_LIBRARY_PATH=$PWD/src/.libs make check
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Tue Sep 13 2022 Michel Alexandre Salim <salimma@fedoraproject.org> - 1.1.0-5
|
||||
- Rebuilt for flac 1.4.0
|
||||
|
||||
* Sat Sep 10 2022 Michal Hlavinka <mhlavink@redhat.com> - 1.1.0-4
|
||||
- enable MP3 support
|
||||
|
||||
* Wed Aug 03 2022 Michal Hlavinka <mhlavink@redhat.com> - 1.1.0-3
|
||||
- new MPEG support does not compile on some archs, do not enable it yet
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Apr 25 2022 Michal Hlavinka <mhlavink@redhat.com> - 1.1.0-1
|
||||
- updated to 1.1.0
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.31-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Wed Dec 01 2021 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-6
|
||||
- fix heap buffer overflow in flac (#2027692)
|
||||
|
||||
* Fri Jul 23 2021 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-5
|
||||
- a crafted wav file could cause heap buffer overflow that allowed an arbitrary code execution (#1984320)
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.31-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Feb 22 2021 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-3
|
||||
- add opus-devel BR to satisfy configure requirements check (#1931251)
|
||||
|
||||
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 1.0.31-2
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Wed Jan 27 2021 Michal Hlavinka <mhlavink@redhat.com> - 1.0.31-1
|
||||
- updated to 1.0.31
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-14
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-13
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-12
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-10
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-9
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Mar 07 2018 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-8
|
||||
- add gcc buildrequire
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Thu Aug 24 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-6
|
||||
- heap-based Buffer Overflow in psf_binheader_writef function (#1483140, CVE-2017-12562)
|
||||
|
||||
* Thu Aug 03 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.28-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Jun 21 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-3
|
||||
- fix buffer overflow in aiff (CVE-2017-6892,rhbz#1463328)
|
||||
|
||||
* Mon Jun 05 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-2
|
||||
- fix flac and pcm buffer overflows (CVE-2017-8361,CVE-2017-8362,CVE-2017-8363,CVE-2017-8365)
|
||||
|
||||
* Tue Apr 11 2017 Michal Hlavinka <mhlavink@redhat.com> - 1.0.28-1
|
||||
- updated to 1.0.28
|
||||
- fix possible buffer overflow when parsing crafted ID3 tags (#1440758, CVE-2017-7586)
|
||||
- fix possible buffer overflow when parsing crafted flac file (#1440756, CVE-2017-7585)
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.27-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Fri Nov 11 2016 Michal Hlavinka <mhlavink@redhat.com> - 1.0.27-1
|
||||
- updated to 1.0.27
|
||||
|
||||
* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 1.0.25-20
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
|
|
Loading…
Reference in New Issue