pidgin/pidgin

Add memleak fixup to Yahoo prpl after cookie getter API change
--- a/libpurple/protocols/yahoo/ymsg.c Thu Jan 21 20:54:54 2016 +1300
+++ b/libpurple/protocols/yahoo/ymsg.c Thu Jan 21 21:12:51 2016 +1300
@@ -1705,9 +1705,9 @@
"\r\n", -1);
cookiejar = purple_http_conn_get_cookie_jar(http_conn);
- yd->cookie_b = g_strdup(purple_http_cookie_jar_get(cookiejar, "B"));
- yd->cookie_t = g_strdup(purple_http_cookie_jar_get(cookiejar, "T"));
- yd->cookie_y = g_strdup(purple_http_cookie_jar_get(cookiejar, "Y"));
+ yd->cookie_b = purple_http_cookie_jar_get(cookiejar, "B");
+ yd->cookie_t = purple_http_cookie_jar_get(cookiejar, "T");
+ yd->cookie_y = purple_http_cookie_jar_get(cookiejar, "Y");
i = 0;
while (splits[i]) {
@@ -3214,7 +3214,7 @@
PurpleAccount *account = purple_connection_get_account(gc);
PurpleHttpCookieJar *cjar;
GString *auth_s;
- const gchar *cookie;
+ gchar *cookie;
if (purple_http_response_get_code(resp) != 302) {
purple_connection_error(gc,
@@ -3226,14 +3226,20 @@
auth_s = g_string_new(NULL);
cjar = purple_http_conn_get_cookie_jar(hc);
cookie = purple_http_cookie_jar_get(cjar, "B");
- if (cookie)
+ if (cookie) {
g_string_append_printf(auth_s, "B=%s; ", cookie);
+ g_free(cookie);
+ }
cookie = purple_http_cookie_jar_get(cjar, "T");
- if (cookie)
+ if (cookie) {
g_string_append_printf(auth_s, "T=%s; ", cookie);
+ g_free(cookie);
+ }
cookie = purple_http_cookie_jar_get(cjar, "Y");
- if (cookie)
+ if (cookie) {
g_string_append_printf(auth_s, "Y=%s; ", cookie);
+ g_free(cookie);
+ }
yd->auth = g_string_free(auth_s, FALSE);
/* Now we have our cookies to login with. I'll go get the milk. */