Mercurial > pidgin
view libpurple/plugins/test.pl @ 32796:5ae7e1f36b43
Fix a possible XMPP remote crash
A series of specially crafted file transfer requests can cause clients
to reference invalid memory. The user must have accepted one of the
file transfer requests.
The fix is to correctly cancel and free a SOCKS5 connection attempt so
that it does not trigger an attempt to access invalid memory later.
This was reported to us by Jos«± Valent«żn Guti«±rrez and this patch is
written by Paul Aurich.
author | Mark Doliner <mark@kingant.net> |
---|---|
date | Mon, 07 May 2012 03:16:31 +0000 |
parents | c9dc220e0301 |
children |
line wrap: on
line source
use Purple; %PLUGIN_INFO = ( perl_api_version => 2, name => 'Test Perl Plugin', version => '1.0', summary => 'Provides as a test base for the perl plugin.', description => 'Provides as a test base for the perl plugin.', author => 'Etan Reisner <deryni\@pidgin.im>', url => 'http://pidgin.im', load => "plugin_load" ); sub plugin_init { return %PLUGIN_INFO; } sub account_status_cb { my ($account, $old, $new, $data) = @_; Purple::Debug::info("perl test plugin", "In account_status_cb\n"); Purple::Debug::info("perl test plugin", "Account " . $account->get_username() . " changed status.\n"); Purple::Debug::info("perl test plugin", $data . "\n"); } sub plugin_load { my $plugin = shift; Purple::Debug::info("perl test plugin", "plugin_load\n"); Purple::Debug::info("perl test plugin", "Listing accounts.\n"); foreach $account (Purple::Accounts::get_all()) { Purple::Debug::info("perl test plugin", $account->get_username() . "\n"); } Purple::Signal::connect(Purple::Accounts::get_handle(), "account-status-changed", $plugin, \&account_status_cb, "test"); }