diff options
author | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-11 11:30:27 +0100 |
---|---|---|
committer | Wilmer van der Gaast <wilmer@gaast.net> | 2010-07-11 11:30:27 +0100 |
commit | 1e52e1ff518987092cfe94bc5c9c4479ed535019 (patch) | |
tree | 59a0f7c6725f37703797b8825058356ec6bf1f27 /protocols | |
parent | e92c4f4f63ca0ba9ac6f959f7ff894ad2fc72a04 (diff) |
When cleaning up queries, q->data is free()d. Even if it turns out to be
the "struct irc" containing all data belonging to a session. Sanitise
memory management a little bit here. (There are some memory leaks in here
too that need to be fixed at some point.)
Diffstat (limited to 'protocols')
-rw-r--r-- | protocols/nogaim.c | 6 | ||||
-rw-r--r-- | protocols/purple/purple.c | 2 |
2 files changed, 4 insertions, 4 deletions
diff --git a/protocols/nogaim.c b/protocols/nogaim.c index c23b0a3a..7380c575 100644 --- a/protocols/nogaim.c +++ b/protocols/nogaim.c @@ -379,7 +379,7 @@ void imc_logout( struct im_connection *ic, int allow_reconnect ) void imcb_ask( struct im_connection *ic, char *msg, void *data, query_callback doit, query_callback dont ) { - query_add( (irc_t *) ic->bee->ui_data, ic, msg, doit, dont, data ); + query_add( (irc_t *) ic->bee->ui_data, ic, msg, doit, dont, g_free, data ); } void imcb_add_buddy( struct im_connection *ic, const char *handle, const char *group ) @@ -477,7 +477,7 @@ void imcb_ask_auth( struct im_connection *ic, const char *handle, const char *re data->ic = ic; data->handle = g_strdup( handle ); query_add( (irc_t *) ic->bee->ui_data, ic, s, - imcb_ask_auth_cb_yes, imcb_ask_auth_cb_no, data ); + imcb_ask_auth_cb_yes, imcb_ask_auth_cb_no, g_free, data ); } @@ -510,7 +510,7 @@ void imcb_ask_add( struct im_connection *ic, const char *handle, const char *rea data->ic = ic; data->handle = g_strdup( handle ); query_add( (irc_t *) ic->bee->ui_data, ic, s, - imcb_ask_add_cb_yes, imcb_ask_add_cb_no, data ); + imcb_ask_add_cb_yes, imcb_ask_add_cb_no, g_free, data ); } struct bee_user *imcb_buddy_by_handle( struct im_connection *ic, const char *handle ) diff --git a/protocols/purple/purple.c b/protocols/purple/purple.c index 2804fdf3..b8d74ba1 100644 --- a/protocols/purple/purple.c +++ b/protocols/purple/purple.c @@ -876,7 +876,7 @@ static void *prplcb_request_action( const char *title, const char *primary, cons /* TODO: IRC stuff here :-( */ q = g_strdup_printf( "Request: %s\n\n%s\n\n%s", title, primary, secondary ); pqad->bee_data = query_add( local_bee->ui_data, purple_ic_by_pa( account ), q, - prplcb_request_action_yes, prplcb_request_action_no, pqad ); + prplcb_request_action_yes, prplcb_request_action_no, g_free, pqad ); g_free( q ); |