libpurple/protocols/yahoo/ymsg.c

changeset 37552
57f67d15a87d
parent 37417
b29ee022017f
child 38330
7a7637a9aaf7
--- 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. */

mercurial