On 9/04/2014 3:48 a.m., Tsantilas Christos wrote:
> The problem is that the peer_select code trying to access a std::vector
> which is already destroyed.
> If we call peerSelect for fwd FwdState object eg:
>     peerSelect(&fwd->serverDestinations, ..., fwd);
> 
> and the fwd state object become invalid (eg because client closed the
> connection) then it is possible to see this crash.
> 
> I believe the fix for these cases is easy, we need to add the following
> code at the beggining of peerSelectDnsResults and peerSelectDnsPaths
> methods (and any other method uses the vector):
> 
>   if (!cbdataReferenceValid(psstate->callback_data)) {
>     delete psstate;
>     return;
>   }
> 
> Regards,
>    Christos


Hi Christos,

 The peer_select crashes should already be fixed by trunk rev.13340 last
week which does exactly that.

Amos

Reply via email to