summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Artsimovich <joseph.artsimovich@youview.com>2014-04-09 17:30:35 +0100
committerDan Winship <danw@gnome.org>2014-04-15 11:17:14 -0400
commit45605fe6fffe391f47dcbe9bff4ef7ea3e4cc4c7 (patch)
treeef0fcaec0e386d84e77657cd2f4514f208acf0d6
parent91cccf74158a6cefe0af23093793aefdd8b30f42 (diff)
downloadlibsoup-45605fe6fffe391f47dcbe9bff4ef7ea3e4cc4c7.tar.gz
Fix a memory leak in soup_cookie_jar_delete_cookie()
A memory leak would happen when asked to delete a matching cookie from a cookie jar that doesn't contain any matching cookies.
-rw-r--r--libsoup/soup-cookie-jar.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c
index 83229705..48b5c6cb 100644
--- a/libsoup/soup-cookie-jar.c
+++ b/libsoup/soup-cookie-jar.c
@@ -751,16 +751,13 @@ soup_cookie_jar_delete_cookie (SoupCookieJar *jar,
{
SoupCookieJarPrivate *priv;
GSList *cookies, *p;
- char *domain;
g_return_if_fail (SOUP_IS_COOKIE_JAR (jar));
g_return_if_fail (cookie != NULL);
priv = SOUP_COOKIE_JAR_GET_PRIVATE (jar);
- domain = g_strdup (cookie->domain);
-
- cookies = g_hash_table_lookup (priv->domains, domain);
+ cookies = g_hash_table_lookup (priv->domains, cookie->domain);
if (cookies == NULL)
return;
@@ -769,7 +766,7 @@ soup_cookie_jar_delete_cookie (SoupCookieJar *jar,
if (soup_cookie_equal (cookie, c)) {
cookies = g_slist_delete_link (cookies, p);
g_hash_table_insert (priv->domains,
- domain,
+ g_strdup (cookie->domain),
cookies);
soup_cookie_jar_changed (jar, c, NULL);
soup_cookie_free (c);