On Thu, Oct 14, 2010 at 11:47:08PM +0200, Mathis Ahrens wrote: > Julien Claassen wrote [2010-09-06] : > >Hello everyone! > > I'm experiencing trouble with jack and multiple servers. The > >moment I start a second jackserver (for net I/O) and try: > >jack_lsp -s new_name > > jack_lsp segfaults. > > [follow-up: jack-devel] > > Hi! > > I have been bitten too, and found the bug: > > jack_get_ports() may return NULL if no ports matched, > and jack_lsp uses this function on line 138 like this: > > ports = jack_get_ports( client, NULL, NULL, 0) > > for (i = 0; ports[i]; ++i) { > ... > } > > which obviously does not check for NULL. this should be fixed. but i would prefer this: http://hochstrom.endofinternet.org/cgit/jack.git/commit/?id=0696759597e3c6d157e88a5738fe125185dd2dce jack_lsp isnt calling jack_free() ... this is also pretty bad. http://hochstrom.endofinternet.org/cgit/jack.git/commit/?id=6c7f82f06322516cbb4e13682c4e8e00a271dff7 > > Attached is a patch that fixes this. > Note that this also touches libjack/clients.c because > I think it is wrong to return NULL when no ports match. this should be discussed. > There should be a distinction between a failed malloc and > no matching ports. > The array is already allocated, and the user has to free it > anyway, so there is nothing wrong with returning it empty. probably right. i am a bit concerned that it might cause some subtle bugs, though. > > Patch is against SVN but should apply with offsets against > 0.118, too. > > Bug test case: > console1> jackd -dnet > console2> jack_lsp > Segmentation Fault > > Cheers, > Mathis > > _______________________________________________ > Linux-audio-user mailing list > Linux-audio-user@xxxxxxxxxxxxxxxxxxxx > http://lists.linuxaudio.org/listinfo/linux-audio-user -- torben Hohn _______________________________________________ Linux-audio-user mailing list Linux-audio-user@xxxxxxxxxxxxxxxxxxxx http://lists.linuxaudio.org/listinfo/linux-audio-user