diff options
| author | Joseph Artsimovich <joseph.artsimovich@youview.com> | 2014-04-09 17:30:35 +0100 |
|---|---|---|
| committer | Dan Winship <danw@gnome.org> | 2014-04-15 11:17:14 -0400 |
| commit | 45605fe6fffe391f47dcbe9bff4ef7ea3e4cc4c7 (patch) | |
| tree | ef0fcaec0e386d84e77657cd2f4514f208acf0d6 | |
| parent | 91cccf74158a6cefe0af23093793aefdd8b30f42 (diff) | |
| download | libsoup-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.c | 7 |
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); |
