Crash in dnsquery.c, branch 2.x.y

Eion Robb eion at
Mon Dec 18 15:16:13 EST 2017

Hi Thomas,

What's the eventloop implementation you're using?  The `return FALSE` from
the initate_resolving() function should prevent any future timers from
being triggered, so there shouldn't be any crash from setting an internal
value to 0


On 19 December 2017 at 02:59, Thomas Downing <tdowning at> wrote:

> Hi all,
> I am developing an application that uses libpurple.  During development,
> I got a repeatable segfault during dns resolution.  I tracked the problem
> to initiate_resolving() in dnsquery.c.  The current code fails to call
> purple_timeout_remove().  When the timeout callback is later invoked by
> my timer code, the gpointer data passed to me by purple_timeout_add()
> is no longer valid, causing a segfault.
> This is consistently repeatable, and is fixed by the attached patch.  The
> patch just adds a call to purple_timeout_remove().
> This patch is against branch 2.x.y.
> --
> Thomas Downing
> Flon's Law:
>     There is not now, and never will be, a language in
> which it is the least bit difficult to write bad programs.
> _______________________________________________
> Devel mailing list
> Devel at
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the Devel mailing list