<div dir="ltr"><div>It seems like there are two leaks in the implementation of REGISTER and DEREGISTER command in the RTSPServer.</div><div><br></div><div>1. In liveMedia/RTSPServerRegister.cpp in the handleResponse() method of the RegisterRequestRecord and DeregisterRequestRecord classes the last statement is:</div><div><br></div><div>> delete this;</div><div><br></div><div>This will destroy the Medium object but will not remove it from the MediaLookupTable. I think a simple fix to this would be to do:</div><div><br></div><div>> Medium::close(this);</div><div><br></div><div>instead.</div><div><br></div><div>2. The rtspURLToRegister parameter passed to the RegisterRequestRecord and DeregisterRequestRecord constructors is the return value of the RTSPServer::rtspURL() method which is dynamically allocated and never gets freed.</div><div><br></div><div><br></div><div><br></div><div>Regards,</div><div><br></div><div>-- <br></div><div dir="ltr" data-smartmail="gmail_signature"><div dir="ltr"><p class="MsoNormal"><span lang="en-IL" style="font-size:12pt;font-family:"Trebuchet MS",sans-serif;color:rgb(2,2,6)">Micha Kalfon</span></p></div></div></div>