rbuilt with debug package, -tools subpackage and patches taken from Arch Linux [release 1.2.12-2mamba;Tue Feb 08 2022]
This commit is contained in:
parent
06044fd071
commit
e4c74aab8b
32
libSDL_mixer-1.2.12-double-free-crash.patch
Normal file
32
libSDL_mixer-1.2.12-double-free-crash.patch
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Sam Lantinga <slouken@libsdl.org>
|
||||||
|
# Date 1329087437 18000
|
||||||
|
# Node ID 2d713670db9b832b0c5aa700824900bc1fc3c3cd
|
||||||
|
# Parent df72f22b4b411ad4b08f924329678aabd5ac97d6
|
||||||
|
Fixed 1418 - crash on double free if loading WAV file failed
|
||||||
|
|
||||||
|
diff -r df72f22b4b41 -r 2d713670db9b mixer.c
|
||||||
|
--- a/mixer.c Mon Jan 30 21:41:45 2012 -0500
|
||||||
|
+++ b/mixer.c Sun Feb 12 17:57:17 2012 -0500
|
||||||
|
@@ -610,13 +610,15 @@
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
SDL_SetError("Unrecognized sound file type");
|
||||||
|
- return(0);
|
||||||
|
+ if ( freesrc ) {
|
||||||
|
+ SDL_RWclose(src);
|
||||||
|
+ }
|
||||||
|
+ loaded = NULL;
|
||||||
|
+ break;
|
||||||
|
}
|
||||||
|
if ( !loaded ) {
|
||||||
|
+ /* The individual loaders have closed src if needed */
|
||||||
|
SDL_free(chunk);
|
||||||
|
- if ( freesrc ) {
|
||||||
|
- SDL_RWclose(src);
|
||||||
|
- }
|
||||||
|
return(NULL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
37
libSDL_mixer-1.2.12-fluidsynth-use-after-free.patch
Normal file
37
libSDL_mixer-1.2.12-fluidsynth-use-after-free.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
From 452a55c5d8cd78621114b8aaa258377403797ea7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Ozkan Sezer <sezeroz@gmail.com>
|
||||||
|
Date: Fri, 22 Jan 2021 17:47:01 +0300
|
||||||
|
Subject: [PATCH] Fix use-after-free in music_fluidsynth.c (backport from
|
||||||
|
default branch)
|
||||||
|
|
||||||
|
Tom M.
|
||||||
|
|
||||||
|
There is a dangerous use-after-free in FLUIDSYNTH_Delete(): the settings
|
||||||
|
object is deleted **before** the synth. Since the settings have been
|
||||||
|
created first to initialize the synth, you must first delete the synth
|
||||||
|
and then delete the settings. This currently crashes all applications
|
||||||
|
that use fluidsynth 2.1.6 and SDL2_mixer.
|
||||||
|
|
||||||
|
Originally reported at https://github.com/FluidSynth/fluidsynth/issues/748
|
||||||
|
---
|
||||||
|
fluidsynth.c | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/fluidsynth.c b/fluidsynth.c
|
||||||
|
index 717d8aa..179d79c 100644
|
||||||
|
--- a/fluidsynth.c
|
||||||
|
+++ b/fluidsynth.c
|
||||||
|
@@ -152,10 +152,12 @@ FluidSynthMidiSong *fluidsynth_loadsong_RW(SDL_RWops *rw, int freerw)
|
||||||
|
|
||||||
|
void fluidsynth_freesong(FluidSynthMidiSong *song)
|
||||||
|
{
|
||||||
|
+ fluid_settings_t *settings;
|
||||||
|
if (!song) return;
|
||||||
|
+ settings = fluidsynth.fluid_synth_get_settings(song->synth);
|
||||||
|
fluidsynth.delete_fluid_player(song->player);
|
||||||
|
- fluidsynth.delete_fluid_settings(fluidsynth.fluid_synth_get_settings(song->synth));
|
||||||
|
fluidsynth.delete_fluid_synth(song->synth);
|
||||||
|
+ fluidsynth.delete_fluid_settings(settings);
|
||||||
|
SDL_free(song);
|
||||||
|
}
|
||||||
|
|
23
libSDL_mixer-1.2.12-fluidsynth-volume.patch
Normal file
23
libSDL_mixer-1.2.12-fluidsynth-volume.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User James Le Cuirot <chewi@aura-online.co.uk>
|
||||||
|
# Date 1330896767 0
|
||||||
|
# Node ID c92001a2c18f628698c58aa4e05a7335d10d0e9e
|
||||||
|
# Parent 2d713670db9b832b0c5aa700824900bc1fc3c3cd
|
||||||
|
Raise the maximum FluidSynth gain from 0.8 to 1.2 because apparently the former is too quiet in some cases.
|
||||||
|
|
||||||
|
diff -r 2d713670db9b -r c92001a2c18f fluidsynth.c
|
||||||
|
--- a/fluidsynth.c Sun Feb 12 17:57:17 2012 -0500
|
||||||
|
+++ b/fluidsynth.c Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
@@ -176,8 +176,8 @@
|
||||||
|
|
||||||
|
void fluidsynth_setvolume(FluidSynthMidiSong *song, int volume)
|
||||||
|
{
|
||||||
|
- /* FluidSynth's default is 0.2. Make 0.8 the maximum. */
|
||||||
|
- fluidsynth.fluid_synth_set_gain(song->synth, (float) (volume * 0.00625));
|
||||||
|
+ /* FluidSynth's default is 0.2. Make 1.2 the maximum. */
|
||||||
|
+ fluidsynth.fluid_synth_set_gain(song->synth, (float) (volume * 1.2 / MIX_MAX_VOLUME));
|
||||||
|
}
|
||||||
|
|
||||||
|
int fluidsynth_playsome(FluidSynthMidiSong *song, void *dest, int dest_len)
|
||||||
|
|
67
libSDL_mixer-1.2.12-mikmod1.patch
Normal file
67
libSDL_mixer-1.2.12-mikmod1.patch
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Sam Lantinga <slouken@libsdl.org>
|
||||||
|
# Date 1342998807 25200
|
||||||
|
# Node ID 56cad6484b04f83c8d42428c755a046678506436
|
||||||
|
# Parent c92001a2c18f628698c58aa4e05a7335d10d0e9e
|
||||||
|
Paul P Komkoff Jr fixed malloc/free mismatch in the MikMod driver
|
||||||
|
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 CHANGES
|
||||||
|
--- a/CHANGES Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/CHANGES Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -1,3 +1,7 @@
|
||||||
|
+1.2.13:
|
||||||
|
+Paul P Komkoff Jr - Sun Jul 22 16:12:28 PDT 2012
|
||||||
|
+ * Fixed malloc/free mismatch in the MikMod driver
|
||||||
|
+
|
||||||
|
1.2.12:
|
||||||
|
Sam Lantinga - Sat Jan 14 22:00:29 2012 -0500
|
||||||
|
* Fixed seek offset with SMPEG (was relative, should be absolute)
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 dynamic_mod.c
|
||||||
|
--- a/dynamic_mod.c Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/dynamic_mod.c Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -93,6 +93,13 @@
|
||||||
|
SDL_UnloadObject(mikmod.handle);
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
+ mikmod.MikMod_free =
|
||||||
|
+ (void (*)(void*))
|
||||||
|
+ SDL_LoadFunction(mikmod.handle, "MikMod_free");
|
||||||
|
+ if ( mikmod.MikMod_free == NULL ) {
|
||||||
|
+ SDL_UnloadObject(mikmod.handle);
|
||||||
|
+ return -1;
|
||||||
|
+ }
|
||||||
|
mikmod.Player_Active =
|
||||||
|
(BOOL (*)(void))
|
||||||
|
SDL_LoadFunction(mikmod.handle, "Player_Active");
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 dynamic_mod.h
|
||||||
|
--- a/dynamic_mod.h Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/dynamic_mod.h Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -35,6 +35,7 @@
|
||||||
|
void (*MikMod_RegisterDriver)(struct MDRIVER*);
|
||||||
|
int* MikMod_errno;
|
||||||
|
char* (*MikMod_strerror)(int);
|
||||||
|
+ void (*MikMod_free)(void*);
|
||||||
|
BOOL (*Player_Active)(void);
|
||||||
|
void (*Player_Free)(MODULE*);
|
||||||
|
MODULE* (*Player_LoadGeneric)(MREADER*,int,BOOL);
|
||||||
|
diff -r c92001a2c18f -r 56cad6484b04 music_mod.c
|
||||||
|
--- a/music_mod.c Sun Mar 04 21:32:47 2012 +0000
|
||||||
|
+++ b/music_mod.c Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
@@ -109,13 +109,13 @@
|
||||||
|
|
||||||
|
list = mikmod.MikMod_InfoDriver();
|
||||||
|
if ( list )
|
||||||
|
- free(list);
|
||||||
|
+ mikmod.MikMod_free(list);
|
||||||
|
else
|
||||||
|
mikmod.MikMod_RegisterDriver(mikmod.drv_nos);
|
||||||
|
|
||||||
|
list = mikmod.MikMod_InfoLoader();
|
||||||
|
if ( list )
|
||||||
|
- free(list);
|
||||||
|
+ mikmod.MikMod_free(list);
|
||||||
|
else
|
||||||
|
mikmod.MikMod_RegisterAllLoaders();
|
||||||
|
|
||||||
|
|
35
libSDL_mixer-1.2.12-mikmod2.patch
Normal file
35
libSDL_mixer-1.2.12-mikmod2.patch
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Sam Lantinga <slouken@libsdl.org>
|
||||||
|
# Date 1343000017 25200
|
||||||
|
# Node ID 2ebb0d016f277f7f643d8a66ed0e1099e10d1fba
|
||||||
|
# Parent 56cad6484b04f83c8d42428c755a046678506436
|
||||||
|
Fixed normal linking with libmikmod and linking with earlier versions of libmikmod.
|
||||||
|
|
||||||
|
diff -r 56cad6484b04 -r 2ebb0d016f27 dynamic_mod.c
|
||||||
|
--- a/dynamic_mod.c Sun Jul 22 16:13:27 2012 -0700
|
||||||
|
+++ b/dynamic_mod.c Sun Jul 22 16:33:37 2012 -0700
|
||||||
|
@@ -97,8 +97,8 @@
|
||||||
|
(void (*)(void*))
|
||||||
|
SDL_LoadFunction(mikmod.handle, "MikMod_free");
|
||||||
|
if ( mikmod.MikMod_free == NULL ) {
|
||||||
|
- SDL_UnloadObject(mikmod.handle);
|
||||||
|
- return -1;
|
||||||
|
+ /* libmikmod 3.1 and earlier doesn't have it */
|
||||||
|
+ mikmod.MikMod_free = free;
|
||||||
|
}
|
||||||
|
mikmod.Player_Active =
|
||||||
|
(BOOL (*)(void))
|
||||||
|
@@ -246,6 +246,11 @@
|
||||||
|
mikmod.MikMod_RegisterDriver = MikMod_RegisterDriver;
|
||||||
|
mikmod.MikMod_errno = &MikMod_errno;
|
||||||
|
mikmod.MikMod_strerror = MikMod_strerror;
|
||||||
|
+#if LIBMIKMOD_VERSION < ((3<<16)|(2<<8))
|
||||||
|
+ mikmod.MikMod_free = free;
|
||||||
|
+#else
|
||||||
|
+ mikmod.MikMod_free = MikMod_free;
|
||||||
|
+#endif
|
||||||
|
mikmod.Player_Active = Player_Active;
|
||||||
|
mikmod.Player_Free = Player_Free;
|
||||||
|
mikmod.Player_LoadGeneric = Player_LoadGeneric;
|
||||||
|
|
@ -1,24 +1,30 @@
|
|||||||
Name: libSDL_mixer
|
Name: libSDL_mixer
|
||||||
Version: 1.2.12
|
Version: 1.2.12
|
||||||
Release: 1mamba
|
Release: 2mamba
|
||||||
Summary: SDL_mixer is a sample multi-channel audio mixer library
|
Summary: SDL_mixer is a sample multi-channel audio mixer library
|
||||||
Group: System/Libraries
|
Group: System/Libraries
|
||||||
Vendor: openmamba
|
Vendor: openmamba
|
||||||
Distribution: openmamba
|
Distribution: openmamba
|
||||||
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||||||
URL: http://www.libsdl.org/projects/SDL_mixer/
|
URL: https://www.libsdl.org/projects/SDL_mixer/
|
||||||
Source: http://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-%{version}.tar.gz
|
Source: https://www.libsdl.org/projects/SDL_mixer/release/SDL_mixer-%{version}.tar.gz
|
||||||
|
Patch0: libSDL_mixer-1.2.12-double-free-crash.patch
|
||||||
|
Patch1: libSDL_mixer-1.2.12-fluidsynth-use-after-free.patch
|
||||||
|
Patch2: libSDL_mixer-1.2.12-fluidsynth-volume.patch
|
||||||
|
Patch3: libSDL_mixer-1.2.12-mikmod1.patch
|
||||||
|
Patch4: libSDL_mixer-1.2.12-mikmod2.patch
|
||||||
License: LGPL
|
License: LGPL
|
||||||
## AUTOBUILDREQ-BEGIN
|
## AUTOBUILDREQ-BEGIN
|
||||||
BuildRequires: glibc-devel
|
BuildRequires: glibc-devel
|
||||||
BuildRequires: libdirectfb-devel
|
|
||||||
BuildRequires: libSDL-devel
|
BuildRequires: libSDL-devel
|
||||||
|
BuildRequires: libdirectfb-devel
|
||||||
|
BuildRequires: libstdc++6-devel
|
||||||
|
BuildRequires: libts-devel
|
||||||
BuildRequires: libz-devel
|
BuildRequires: libz-devel
|
||||||
## AUTOBUILDREQ-END
|
## AUTOBUILDREQ-END
|
||||||
BuildRequires: libvorbis-devel
|
BuildRequires: libvorbis-devel
|
||||||
BuildRequires: libsmpeg-devel
|
BuildRequires: libsmpeg-devel
|
||||||
BuildRequires: libmikmod-devel
|
BuildRequires: libmikmod-devel
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
|
||||||
|
|
||||||
%description
|
%description
|
||||||
SDL_mixer is a sample multi-channel audio mixer library.
|
SDL_mixer is a sample multi-channel audio mixer library.
|
||||||
@ -32,14 +38,32 @@ Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
|||||||
%description devel
|
%description devel
|
||||||
SDL_mixer is a sample multi-channel audio mixer library.
|
SDL_mixer is a sample multi-channel audio mixer library.
|
||||||
It supports any number of simultaneously playing channels of 16 bit stereo audio, plus a single channel of music, mixed by the popular MikMod MOD, Timidity MIDI, Ogg Vorbis, and SMPEG MP3 libraries.
|
It supports any number of simultaneously playing channels of 16 bit stereo audio, plus a single channel of music, mixed by the popular MikMod MOD, Timidity MIDI, Ogg Vorbis, and SMPEG MP3 libraries.
|
||||||
|
This package contains static libraries and header files needed for development.
|
||||||
|
|
||||||
This package contains static libraries and header files need for development.
|
%package tools
|
||||||
|
Group: Applications/Multimedia
|
||||||
|
Summary: Tools provided with %{name}
|
||||||
|
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||||||
|
|
||||||
|
%description tools
|
||||||
|
SDL_mixer is a sample multi-channel audio mixer library.
|
||||||
|
It supports any number of simultaneously playing channels of 16 bit stereo audio, plus a single channel of music, mixed by the popular MikMod MOD, Timidity MIDI, Ogg Vorbis, and SMPEG MP3 libraries.
|
||||||
|
This package contains static the tools provided with %{name}.
|
||||||
|
|
||||||
|
%debug_package
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n SDL_mixer-%{version}
|
%setup -q -n SDL_mixer-%{version}
|
||||||
|
%patch0 -p1 -b .double-free-crash
|
||||||
|
%patch1 -p1 -b .fluidsynth-use-after-free
|
||||||
|
%patch2 -p1 -b .fluidsynth-volume
|
||||||
|
%patch3 -p1 -b .mikmod1
|
||||||
|
%patch4 -p1 -b .mikmod2
|
||||||
|
sed -i "s,| arm-\* |,| aarch64-\* | arm-\* |," build-scripts/config.sub
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-smpegtest
|
%configure
|
||||||
|
#--disable-smpegtest
|
||||||
%make LDFLAGS=-lm
|
%make LDFLAGS=-lm
|
||||||
|
|
||||||
%install
|
%install
|
||||||
@ -54,21 +78,27 @@ This package contains static libraries and header files need for development.
|
|||||||
|
|
||||||
%files
|
%files
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%{_bindir}/playmus
|
|
||||||
%{_bindir}/playwave
|
|
||||||
%{_libdir}/libSDL_mixer*.so.*
|
%{_libdir}/libSDL_mixer*.so.*
|
||||||
%doc CHANGES COPYING README
|
%doc COPYING
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
%defattr(-,root,root)
|
%defattr(-,root,root)
|
||||||
%dir %{_includedir}/SDL
|
|
||||||
%{_includedir}/SDL/*.h
|
%{_includedir}/SDL/*.h
|
||||||
%{_libdir}/libSDL_mixer.a
|
%{_libdir}/libSDL_mixer.a
|
||||||
%{_libdir}/libSDL_mixer.la
|
%{_libdir}/libSDL_mixer.la
|
||||||
%{_libdir}/libSDL_mixer.so
|
%{_libdir}/libSDL_mixer.so
|
||||||
%{_libdir}/pkgconfig/SDL_mixer.pc
|
%{_libdir}/pkgconfig/SDL_mixer.pc
|
||||||
|
%doc CHANGES README
|
||||||
|
|
||||||
|
%files tools
|
||||||
|
%defattr(-,root,root)
|
||||||
|
%{_bindir}/playmus
|
||||||
|
%{_bindir}/playwave
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Feb 08 2022 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.12-2mamba
|
||||||
|
- rbuilt with debug package, -tools subpackage and patches taken from Arch Linux
|
||||||
|
|
||||||
* Mon Jan 23 2012 Automatic Build System <autodist@mambasoft.it> 1.2.12-1mamba
|
* Mon Jan 23 2012 Automatic Build System <autodist@mambasoft.it> 1.2.12-1mamba
|
||||||
- automatic version update by autodist
|
- automatic version update by autodist
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user