cdrdao would trigger SIGSEGV (or SIGILL with -ggdb) on reading a 'toc'
file during 'write' or 'simulate' operations.

Two functions in trackdb/Track.cc were missing return statements,
causing error in stack frame handling on return.  (Probably new
behavior with clang.)

This small patch makes write (and simulate) work for me on amd64,
6.2 stable:

--- trackdb/Track.cc.orig       Mon May  9 11:39:47 2005
+++ trackdb/Track.cc    Wed Mar  7 07:59:24 2018
@@ -411,6 +411,8 @@
   }

   update();
+
+  return true;
 }

 // Sets ISRC code. Expected string: "CCOOOYYSSSSS"
@@ -596,6 +598,8 @@
       }
     }
   }
+
+  return true;
 }

 // Locates 'SubTrack' that contains specified sample.

Reply via email to