Comment 87 for bug 282939

Revision history for this message
Aisano (info-ais-sanmarino) wrote : Re: gnusound crashes X session immediately on launch (Affects Intrepid, Jaunty, Karmic)

I downloaded the source code for gnusound-0.7.5 a couple of days ago but could not get it to build because I lacked too many source packages it depends on, and could not find a list of dependencies. But I can see that in line 797 of draw.c there is still that constant 128 mentioned by Jon Hornstein, while the really available size is only 8 (bytes). The condition on "have_room_for_text" (see Jon's contribution above) may explain why not everybody is experiencing this problem.

Still it is somewhat strange, because the number printed into this 8 byte buffer is bounded by something called "...mixer->output_channels". It would indeed be weird for a sound card to have so many output channels that their number would exceed 7 digits (plus a terminating \0). Maybe the problem is somewhere else. But the wrong buffer length passed to snprintf has to be fixed anyway (using "sizeof(s)" instead of "128). To be entirely on the safe side (here) the buffer "s" might be increased to 12 bytes, so any (even negative) 32-bit integer cannot overflow it. Still it has to be explained how the number of output channels can exceed the amount of 10 million. While we do not know this it may even be the safest thing to put a plausibility check into the code.

As I can reproduce the problem on my hardware, I am willing to perform some tests if somebody can give me clear instructions how to compile the code. After downloading a couple of codec packages I still receive this message from "configure":

checking ffmpeg/avformat.h usability... no
checking ffmpeg/avformat.h presence... no
checking for ffmpeg/avformat.h... no
configure: error: *** no suitable file drivers found ***

No idea what I need to install to make these go away.