[Live-devel] Infinite loop in liveMedia/MediaSession.cpp with Windows CE

Ross Finlayson finlayson at live555.com
Mon May 11 01:31:29 PDT 2009


>I'd like to report a bug in MediaSubsession::initiate. Windows 
>CE/Mobile shitty IPstack sometimes seems to always return the same 
>odd port so initiate() loops and creates sockets until the device 
>hasn't enough memory.
>
>The Hashtable mechanism won't work as the result 
>socketHashTable->Add() isn't checked. If the port was already used 
>it returns the old value but it won't be freed.

But if the port was allocated the first time (and recorded in the 
hash table), then your OS should never be allocating it (as an 
ephemeral port) a second time!  If your OS really is doing this 
(allocating the same ephemeral port number a second time, while the 
first-allocated port is still in use), then it is badly broken, and 
our code has no chance of working with it.  If this is really 
happening, you will need to fix (or replace) your OS.
-- 

Ross Finlayson
Live Networks, Inc.
http://www.live555.com/


More information about the live-devel mailing list