Accepting request 200717 from home:tiwai:branches:multimedia:libs

- Fix double free in destructor of caps plugin (bnc#842420)

OBS-URL: https://build.opensuse.org/request/show/200717
OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ladspa?expand=0&rev=28
This commit is contained in:
Sascha Peilicke 2013-09-27 07:38:03 +00:00 committed by Git OBS Bridge
parent e1d9be9365
commit 3033d422be
4 changed files with 60 additions and 12 deletions

21
caps-fix-double-free.diff Normal file
View File

@ -0,0 +1,21 @@
---
interface.cc | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
--- a/interface.cc
+++ b/interface.cc
@@ -123,8 +123,12 @@ void _init()
__attribute__ ((destructor))
void _fini()
{
- for (ulong i = 0; i < N; ++i)
- delete descriptors[i];
+ for (ulong i = 0; i < N; ++i) {
+ if (descriptors[i]) {
+ delete descriptors[i];
+ descriptors[i] = NULL;
+ }
+ }
}
/* /////////////////////////////////////////////////////////////////////// */

View File

@ -1,7 +1,7 @@
#
# spec file for package ladspa-devel
#
# 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

View File

@ -1,3 +1,8 @@
-------------------------------------------------------------------
Thu Sep 26 14:37:25 CEST 2013 - tiwai@suse.de
- Fix double free in destructor of caps plugin (bnc#842420)
-------------------------------------------------------------------
Tue Feb 14 07:51:10 UTC 2012 - coolo@suse.com

View File

@ -1,7 +1,7 @@
#
# spec file for package ladspa
#
# 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
@ -50,16 +50,34 @@ Release: 0
AutoReq: on
Autoprov: off
Provides: ladspa > 1.12.code10.3.1
Provides: ladspa-swh-plugins = %{swh_version} ladspa-AMB = %{AMB_version} ladspa-FIL = %{FIL_version}
Provides: ladspa-REV = %{REV_version} ladspa-VCO = %{VCO_version} ladspa-alienwah = %{alienwah_version}
Provides: ladspa-caps = %{caps_version} ladspa-pvoc = %{pvoc_version} ladspa-tap-plugins = %{tap_version}
Provides: ladspa-vlevel = %{vlevel_version} ladspa-vocoder = %{vocoder_version} ladspa-blop = %{blop_version}
Provides: ladspa-vcf = %{vcf_version} ladspa-MCP = %{MCP_version}
Obsoletes: ladspa-swh-plugins < %{swh_version} ladspa-AMB < %{AMB_version} ladspa-FIL < %{FIL_version}
Obsoletes: ladspa-REV < %{REV_version} ladspa-VCO < %{VCO_version} ladspa-alienwah < %{alienwah_version}
Obsoletes: ladspa-caps < %{caps_version} ladspa-pvoc < %{pvoc_version} ladspa-tap-plugins < %{tap_version}
Obsoletes: ladspa-vlevel < %{vlevel_version} ladspa-vocoder < %{vocoder_version} ladspa-blop < %{blop_version}
Obsoletes: ladspa-vcf < %{vcf_version} ladspa-MCP < %{MCP_version}
Provides: ladspa-AMB = %{AMB_version}
Provides: ladspa-FIL = %{FIL_version}
Provides: ladspa-MCP = %{MCP_version}
Provides: ladspa-REV = %{REV_version}
Provides: ladspa-VCO = %{VCO_version}
Provides: ladspa-alienwah = %{alienwah_version}
Provides: ladspa-blop = %{blop_version}
Provides: ladspa-caps = %{caps_version}
Provides: ladspa-pvoc = %{pvoc_version}
Provides: ladspa-swh-plugins = %{swh_version}
Provides: ladspa-tap-plugins = %{tap_version}
Provides: ladspa-vcf = %{vcf_version}
Provides: ladspa-vlevel = %{vlevel_version}
Provides: ladspa-vocoder = %{vocoder_version}
Obsoletes: ladspa-AMB < %{AMB_version}
Obsoletes: ladspa-FIL < %{FIL_version}
Obsoletes: ladspa-MCP < %{MCP_version}
Obsoletes: ladspa-REV < %{REV_version}
Obsoletes: ladspa-VCO < %{VCO_version}
Obsoletes: ladspa-alienwah < %{alienwah_version}
Obsoletes: ladspa-blop < %{blop_version}
Obsoletes: ladspa-caps < %{caps_version}
Obsoletes: ladspa-pvoc < %{pvoc_version}
Obsoletes: ladspa-swh-plugins < %{swh_version}
Obsoletes: ladspa-tap-plugins < %{tap_version}
Obsoletes: ladspa-vcf < %{vcf_version}
Obsoletes: ladspa-vlevel < %{vlevel_version}
Obsoletes: ladspa-vocoder < %{vocoder_version}
Source1: ladspa_sdk_1.13.tar.bz2
Source2: cmt_src_1.15.tar.bz2
Source3: swh-plugins-%{swh_version}.tar.bz2
@ -116,6 +134,7 @@ Patch25: pvoc-0.1.10-depend-copts-fix.diff
Patch26: swh-nostatic-lib.diff
Patch27: blop-ladspa_dir.diff
Patch28: blop-wdautil-fix.diff
Patch29: caps-fix-double-free.diff
Url: http://www.ladspa.org/
BuildRoot: %{_tmppath}/%{name}-%{version}-build
@ -199,6 +218,9 @@ touch config.rpath
%patch16
%patch25
)
(cd caps-%{caps_version}
%patch29 -p1
)
%build
# This package failed when testing with -Wl,-as-needed being default.