From 299e4fce342ed50fdebc3605ea3e8155a786504cbd2995b09084a94174aea904 Mon Sep 17 00:00:00 2001 From: Dave Plater Date: Tue, 16 Apr 2013 08:50:41 +0000 Subject: [PATCH] Accepting request 170979 from home:elvigia:branches:multimedia:libs - 0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch from upstream, fix off-by-one bug found by gcc 4.8 address sanitizer. OBS-URL: https://build.opensuse.org/request/show/170979 OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/libsamplerate?expand=0&rev=23 --- ...ix-a-read-beyond-end-of-coefficent-a.patch | 38 +++++++++++++++++++ libsamplerate.changes | 6 +++ libsamplerate.spec | 5 ++- 3 files changed, 48 insertions(+), 1 deletion(-) create mode 100644 0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch diff --git a/0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch b/0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch new file mode 100644 index 0000000..293f537 --- /dev/null +++ b/0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch @@ -0,0 +1,38 @@ +From 93b26d6323699df302771b89ee3e7fc30780cc86 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= +Date: Mon, 15 Apr 2013 23:24:16 -0300 +Subject: [PATCH] src/src_sinc.c : Fix a read beyond end of coefficent array + problem. + +found by gcc 4.8 address sanitizer + +diff --git a/src/src_sinc.c b/src/src_sinc.c +index 0b87066..1cd291b 100644 +--- a/src/src_sinc.c ++++ b/src/src_sinc.c +@@ -201,19 +201,19 @@ sinc_set_converter (SRC_PRIVATE *psrc, int src_enum) + switch (src_enum) + { case SRC_SINC_FASTEST : + temp_filter.coeffs = fastest_coeffs.coeffs ; +- temp_filter.coeff_half_len = ARRAY_LEN (fastest_coeffs.coeffs) - 1 ; ++ temp_filter.coeff_half_len = ARRAY_LEN (fastest_coeffs.coeffs) - 2 ; + temp_filter.index_inc = fastest_coeffs.increment ; + break ; + + case SRC_SINC_MEDIUM_QUALITY : + temp_filter.coeffs = slow_mid_qual_coeffs.coeffs ; +- temp_filter.coeff_half_len = ARRAY_LEN (slow_mid_qual_coeffs.coeffs) - 1 ; ++ temp_filter.coeff_half_len = ARRAY_LEN (slow_mid_qual_coeffs.coeffs) - 2 ; + temp_filter.index_inc = slow_mid_qual_coeffs.increment ; + break ; + + case SRC_SINC_BEST_QUALITY : + temp_filter.coeffs = slow_high_qual_coeffs.coeffs ; +- temp_filter.coeff_half_len = ARRAY_LEN (slow_high_qual_coeffs.coeffs) - 1 ; ++ temp_filter.coeff_half_len = ARRAY_LEN (slow_high_qual_coeffs.coeffs) - 2 ; + temp_filter.index_inc = slow_high_qual_coeffs.increment ; + break ; + +-- +1.8.1.4 + diff --git a/libsamplerate.changes b/libsamplerate.changes index 0b42320..532dd62 100644 --- a/libsamplerate.changes +++ b/libsamplerate.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Tue Apr 16 02:37:15 UTC 2013 - crrodriguez@opensuse.org + +- 0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch + from upstream, fix off-by-one bug found by gcc 4.8 address sanitizer. + ------------------------------------------------------------------- Wed Aug 1 06:54:11 UTC 2012 - adrian@suse.de diff --git a/libsamplerate.spec b/libsamplerate.spec index 8eb8ec3..5b08b34 100644 --- a/libsamplerate.spec +++ b/libsamplerate.spec @@ -1,7 +1,7 @@ # # spec file for package libsamplerate # -# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany. +# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -29,6 +29,8 @@ BuildRequires: fftw3-devel BuildRequires: libsndfile-devel BuildRequires: pkgconfig BuildRoot: %{_tmppath}/%{name}-%{version}-build +# PATCH-FIX-UPSTREAM 0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch off by one in src_sinc +Patch: 0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch %description Secret Rabbit Code (aka libsamplerate) is a Sample Rate Converter for @@ -75,6 +77,7 @@ This package includes the example programs for libsamplerate. %prep %setup -q +%patch -p1 %build %ifnarch %arm # ARM has no working profile support in gcc atm