[Live-devel] Problem using live555MediaServer with more than 250 clients

Ross Finlayson finlayson at live555.com
Thu Dec 11 02:49:47 PST 2014


When this thread began, I initially assumed that the system header file <sys/select.h> would implement FD_SET (etc.) by either checking itself whether the socket number was in the range [0,FD_SETSIZE), or else by ensuring that it would use a bitmap large enough for all possible socket numbers (regardless of FD_SETSIZE).

To my astonishment, when I looked at the implementation (in the system header file <sys/select.h>), in every implementation I looked at, the bitmap was only large enough for FD_SETSIZE, and there was no checking against this - so buffer overflow occurs if you use a socket number >= FD_SETSIZE!

This is (IMHO) a serious bug in the <sys/select.h> system header file (in most, if not all, Unix systems out there).  So I’ve changed my mind yet again and decided to adopt Michel Promonet’s suggestion of testing for this myself in our implementation of “BasicUsageEnvironment::setBackgroundHandling()” and “BasicUsageEnvironment::moveBackgroundHandling()”.

A new version (2014.12.11) of the “LIVE555 Streaming Media” code has now been installed.

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/ <http://www.live555.com/>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.live555.com/pipermail/live-devel/attachments/20141211/336cdf5f/attachment.html>


More information about the live-devel mailing list