Hello community,

here is the log from the commit of package timidity for openSUSE:Factory
checked in at Mon Aug 15 11:16:59 CEST 2011.



--------
--- timidity/timidity.changes   2011-01-19 21:02:59.000000000 +0100
+++ /mounts/work_src_done/STABLE/timidity/timidity.changes      2011-08-12 
15:53:08.000000000 +0200
@@ -1,0 +2,5 @@
+Fri Aug 12 15:43:27 CEST 2011 - [email protected]
+
+- Fix inifinte loop with non-existing soundfont files
+
+-------------------------------------------------------------------

calling whatdependson for head-i586


New:
----
  timidity-fix-sndfont-list.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ timidity.spec ++++++
--- /var/tmp/diff_new_pack.v4omU9/_old  2011-08-15 11:13:58.000000000 +0200
+++ /var/tmp/diff_new_pack.v4omU9/_new  2011-08-15 11:13:58.000000000 +0200
@@ -26,7 +26,7 @@
 Name:           timidity
 Summary:        Software Synthesizer and MIDI Player
 Version:        2.13.2
-Release:        257
+Release:        263
 Group:          Productivity/Multimedia/Sound/Midi
 AutoReqProv:    on
 License:        GPLv2+
@@ -75,6 +75,7 @@
 Patch16:        timidity-codecleanup.patch
 Patch17:        timidity-no_date.patch
 Patch18:        timidity-add_fluid_cfgs.patch
+Patch19:        timidity-fix-sndfont-list.diff
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 
 %description
@@ -109,6 +110,7 @@
 %patch16
 %patch17
 %patch18
+%patch19 -p1
 # save the original INSTALL file
 mv INSTALL INSTALL-orig
 for f in ./utils/bitset.c ./utils/bitset.h ./utils/nkflib.c; do

++++++ timidity-fix-sndfont-list.diff ++++++
---
 timidity/sndfont.c |   12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

--- a/timidity/sndfont.c
+++ b/timidity/sndfont.c
@@ -226,12 +226,18 @@
 
 static SFInsts *new_soundfont(char *sf_file)
 {
-    SFInsts *sf;
+    SFInsts *sf, *prev;
 
     sf_file = FILENAME_NORMALIZE(sf_file);
-    for(sf = sfrecs; sf != NULL; sf = sf->next)
-       if(sf->fname == NULL)
+    for(prev = NULL, sf = sfrecs; sf != NULL; prev = sf, sf = sf->next)
+       if(sf->fname == NULL) {
+           if (prev)
+               prev->next = sf->next;
+           else
+               sfrecs = sf->next;
+           sf->next = NULL;
            break;
+       }
     if(sf == NULL)
        sf = (SFInsts *)safe_malloc(sizeof(SFInsts));
     memset(sf, 0, sizeof(SFInsts));


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



Remember to have fun...

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to