[libsoup] Fix leak when processing the set cookie header



commit 00561929c2a61bd204f98ba0dcd2925219534104
Author: Jonathon Jongsma <jonathon quotidian org>
Date:   Tue Dec 7 23:09:31 2010 -0600

    Fix leak when processing the set cookie header
    
    Valgrind trace:
    ==4617== 401 (96 direct, 305 indirect) bytes in 2 blocks are definitely lost in loss record 15,500 of 16,590
    ==4617==    at 0x4C244E8: malloc (vg_replace_malloc.c:236)
    ==4617==    by 0x103D73AA: g_malloc (gmem.c:164)
    ==4617==    by 0x103F0EB4: g_slice_alloc (gslice.c:842)
    ==4617==    by 0x103F0F0C: g_slice_alloc0 (gslice.c:854)
    ==4617==    by 0xE1CCD04: parse_one_cookie (soup-cookie.c:218)
    ==4617==    by 0xE1CD2B3: soup_cookies_from_response (soup-cookie.c:763)
    ==4617==    by 0xE1CE332: process_set_cookie_header (soup-cookie-jar.c:562)
    ==4617==    by 0xFB4AC36: g_cclosure_marshal_VOID__VOID (gmarshal.c:79)
    ==4617==    by 0xFB2F59E: g_closure_invoke (gclosure.c:766)
    ==4617==    by 0xFB4A2B1: signal_emit_unlocked_R (gsignal.c:3252)
    ==4617==    by 0xFB490EE: g_signal_emit_valist (gsignal.c:2983)
    ==4617==    by 0xFB4966C: g_signal_emit (gsignal.c:3040)
    ==4617==    by 0xE1DA0DF: io_read (soup-message-io.c:903)
    
    https://bugzilla.gnome.org/show_bug.cgi?id=636741

 libsoup/soup-cookie-jar.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)
---
diff --git a/libsoup/soup-cookie-jar.c b/libsoup/soup-cookie-jar.c
index 64afd9d..adb50ec 100644
--- a/libsoup/soup-cookie-jar.c
+++ b/libsoup/soup-cookie-jar.c
@@ -563,11 +563,8 @@ process_set_cookie_header (SoupMessage *msg, gpointer user_data)
 	for (nc = new_cookies; nc; nc = nc->next) {
 		SoupURI *first_party = soup_message_get_first_party (msg);
 		
-		if (first_party == NULL &&
-		    priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY)
-			continue; /* Can't check anything */
-
 		if ((priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY &&
+		     first_party != NULL &&
 		     soup_cookie_domain_matches (nc->data, first_party->host)) ||
 		    priv->accept_policy == SOUP_COOKIE_JAR_ACCEPT_ALWAYS)
 			soup_cookie_jar_add_cookie (jar, nc->data);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]