Crash in dnsquery.c, branch 2.x.y
Eion Robb
eion at robbmob.com
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
Cheers,
Eion
On 19 December 2017 at 02:59, Thomas Downing <tdowning at bomgar.com> 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 pidgin.im
> https://pidgin.im/cgi-bin/mailman/listinfo/devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pidgin.im/pipermail/devel/attachments/20171219/bd1ba39a/attachment.html>
More information about the Devel
mailing list