File 0001-src-src_sinc.c-Fix-a-read-beyond-end-of-coefficent-a.patch of Package libsamplerate

From 93b26d6323699df302771b89ee3e7fc30780cc86 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Cristian=20Rodr=C3=ADguez?= <crrodriguez@opensuse.org>
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
openSUSE Build Service is sponsored by