diff options
Diffstat (limited to 'src/uzbl-core.c')
-rw-r--r-- | src/uzbl-core.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/uzbl-core.c b/src/uzbl-core.c index 227e8c6..7be98c3 100644 --- a/src/uzbl-core.c +++ b/src/uzbl-core.c @@ -2398,15 +2398,18 @@ void handle_cookies (SoupSession *session, SoupMessage *msg, gpointer user_data) char *cookies = (char *) g_malloc(len+1); strncpy(cookies, uzbl.comm.sync_stdout, len+1); - /* Disconnect to avoid recusion */ + /* Disconnect to avoid recursion */ g_object_disconnect(G_OBJECT(uzbl.net.soup_cookie_jar), "any_signal", G_CALLBACK(save_cookies_js), NULL, NULL); p = cookies - 1; while(p != NULL) { p = p + 1; soup_cookie = soup_cookie_parse((const char *) p, soup_uri); - if(soup_cookie->domain == NULL) soup_cookie->domain = soup_uri->host; - soup_cookie_jar_add_cookie(uzbl.net.soup_cookie_jar, soup_cookie); + if (soup_cookie) { + if(soup_cookie->domain == NULL) + soup_cookie->domain = soup_uri->host; + soup_cookie_jar_add_cookie(uzbl.net.soup_cookie_jar, soup_cookie); + } p = strchr(p, ';'); } |