Mercurial > pidgin.yaz
changeset 15273:b3f5d5854017
[gaim-migrate @ 18062]
Fix a crash. If we are redirected and then disconnected before _qq_got_login() gets called, we'd be trying to free already freed memory.
committer: Tailor Script <tailor@pidgin.im>
author | Mark Huetsch <markhuetsch> |
---|---|
date | Wed, 27 Dec 2006 13:34:33 +0000 |
parents | bc6f650b9c2d |
children | ca72c74bf5e3 |
files | libgaim/protocols/qq/qq_proxy.c |
diffstat | 1 files changed, 4 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/libgaim/protocols/qq/qq_proxy.c Wed Dec 27 13:27:55 2006 +0000 +++ b/libgaim/protocols/qq/qq_proxy.c Wed Dec 27 13:34:33 2006 +0000 @@ -156,7 +156,6 @@ qd->logged_in = FALSE; qd->channel = 1; qd->uid = strtol(gaim_account_get_username(gaim_connection_get_account(gc)), NULL, 10); - qd->before_login_packets = g_queue_new(); /* now generate md5 processed passwd */ passwd = gaim_account_get_password(gaim_connection_get_account(gc)); @@ -432,6 +431,7 @@ gboolean use_tcp, gboolean is_redirect) { GaimConnection *gc; + qq_data *qd; g_return_val_if_fail(host != NULL, -1); g_return_val_if_fail(port > 0, -1); @@ -442,6 +442,9 @@ if (is_redirect) _qq_common_clean(gc); + qd = (qq_data *) gc->proto_data; + qd->before_login_packets = g_queue_new(); + return _proxy_connect_full(account, host, port, _qq_got_login, gc, use_tcp); }