OSDN Git Service

* timidity/timidity.c (open_file): Fix coredump when random play.
authorKeishi Suenaga <s_keishi@mutt.freemail.ne.jp>
Thu, 27 Jul 2006 05:40:01 +0000 (05:40 +0000)
committerKeishi Suenaga <s_keishi@mutt.freemail.ne.jp>
Thu, 27 Jul 2006 05:40:01 +0000 (05:40 +0000)
          (free files problem);
* ChangeLog

ChangeLog
timidity/timidity.c

index 9ff0e7d..f152ce6 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2006-07-27  Keishi Suenaga <s_keishi@mutt.freemai.ne.jp>
+
+        * timidity/timidity.c (open_file): Fix coredump when random play.
+          (free files problem);
+
 2006-06-02  TAMUKI Shoichi <tamuki@linet.gr.jp>
 
        * timidity/common.c (open_file): Ignore directories only when
index 4635622..1876f83 100644 (file)
@@ -5536,6 +5536,7 @@ int main(int argc, char **argv)
     int c, err, i;
     int nfiles;
     char **files;
+    char *files_nbuf;
     int main_ret;
     int longind;
 
@@ -5719,6 +5720,7 @@ int main(int argc, char **argv)
     files  = argv + optind;
     if(nfiles > 0 && ctl->id_character != 'r' && ctl->id_character != 'A' && ctl->id_character != 'W' && ctl->id_character != 'P')
        files = expand_file_archives(files, &nfiles);
+       files_nbuf = files[0];
 #if !defined(IA_W32GUI) && !defined(IA_W32G_SYN)
     if(dumb_error_count)
        sleep(1);
@@ -5774,7 +5776,7 @@ int main(int argc, char **argv)
        if (nfiles > 0
                        && ctl->id_character != 'r' && ctl->id_character != 'A'
                        && ctl->id_character != 'W' && ctl->id_character != 'P') {
-               free(files[0]);
+               free(files_nbuf);
                free(files);
        }
        free_soft_queue();