2 Oct 2005 23:59
Jack driver double free fix
Stefan Westerfeld <stefan <at> space.twc.de>
2005-10-02 21:59:29 GMT
2005-10-02 21:59:29 GMT
Hi! While chasing stability problems in beast, I found that the pa_jack driver of portaudio frees the jack_port_t pointers obtained from the libjack API (from jack_port_by_name). This causes double-frees, which cause crashes. I checked the jack documentation at http://jackit.sourceforge.net/docs/reference/html/jack_8h.html just to be sure whether it is the portaudio drivers responsibilty to free the jack_port_t's or libjacks responsibility. As the documentation explicitely indicates when memory should be freed by the client, I assume what isn't mentioned there should probably not be freed by the client. I also checked the libjack source, just to be sure. Both, the documentation and the libjack source say that portaudio is wrong here. Attached is a diff against Portaudio CVS. Btw, this mail: http://techweb.rfa.org/pipermail/portaudio/2005-July/004648.html also contains a partial fix for the same problem. Cu... Stefan -- -- Stefan Westerfeld, Hamburg/Germany, http://space.twc.de/~stefan(Continue reading)
RSS Feed