Hi Stanislav,

> Somewhere inFlightDnsQueries becomes NULL but dnsTimeoutHandler called
> anyway and it then calls removeQuery.
> But I can't find in which case this condition might happened.

I've received this same bug report from somebody running 1.0.1, so it
looks like indeed there's a problem somewhere.  I've spent the best
part of an hour eyeballing dns.c, and I can't find where it can happen.

> A quick (and I think dirty) solution can be:
>      DnsQueryPtr previous;
> +   if(!inFlightDnsQueries)
> +       return;
>      if(query == inFlightDnsQueries) {
> 
> What do you think?

It's definitely a quick way of solving the problem.  However, if query
is not on the queue of in-flight queries, it's probably already been
freed.  So this might cause more subtle crashes.

If you could reproduce the bug under valgrind (and preferably either
with 1.0.1 or my current devel tree), it would probably give us all
the information we need to fix it properly.

                                        Juliusz




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to