Loading lib/cookie.c +9 −10 Original line number Diff line number Diff line Loading @@ -1107,23 +1107,20 @@ struct curl_slist *Curl_cookie_list(struct SessionHandle *data) c = data->cookies->cookies; beg = list; while(c) { /* fill the list with _all_ the cookies we know */ line = get_netscape_format(c); if(line == NULL) { curl_slist_free_all(beg); if(!line) { curl_slist_free_all(list); return NULL; } list = curl_slist_append(list, line); beg = curl_slist_append(list, line); free(line); if(list == NULL) { curl_slist_free_all(beg); if(!beg) { curl_slist_free_all(list); return NULL; } else if(beg == NULL) { beg = list; } list = beg; c = c->next; } Loading @@ -1148,10 +1145,12 @@ void Curl_flush_cookies(struct SessionHandle *data, int cleanup) data->set.str[STRING_COOKIEJAR]); } else { if(cleanup && data->change.cookielist) if(cleanup && data->change.cookielist) { /* since nothing is written, we can just free the list of cookie file names */ curl_slist_free_all(data->change.cookielist); /* clean up list */ data->change.cookielist = NULL; } Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); } Loading lib/easy.c +8 −9 Original line number Diff line number Diff line Loading @@ -676,16 +676,15 @@ CURL *curl_easy_duphandle(CURL *incurl) if(outcurl) { if(outcurl->state.connc && (outcurl->state.connc->type == CONNCACHE_PRIVATE)) (outcurl->state.connc->type == CONNCACHE_PRIVATE)) { Curl_rm_connc(outcurl->state.connc); if(outcurl->state.headerbuff) free(outcurl->state.headerbuff); if(outcurl->change.cookielist) outcurl->state.connc = NULL; } curl_slist_free_all(outcurl->change.cookielist); if(outcurl->change.url) free(outcurl->change.url); if(outcurl->change.referer) free(outcurl->change.referer); outcurl->change.cookielist = NULL; Curl_safefree(outcurl->state.headerbuff); Curl_safefree(outcurl->change.url); Curl_safefree(outcurl->change.referer); Curl_freeset(outcurl); free(outcurl); } Loading lib/hash.c +5 −1 Original line number Diff line number Diff line Loading @@ -72,9 +72,12 @@ Curl_hash_init(struct curl_hash *h, for(i = 0; i < slots; ++i) { h->table[i] = Curl_llist_alloc((curl_llist_dtor) hash_element_dtor); if(!h->table[i]) { while(i--) while(i--) { Curl_llist_destroy(h->table[i], NULL); h->table[i] = NULL; } free(h->table); h->table = NULL; return 1; /* failure */ } } Loading Loading @@ -240,6 +243,7 @@ Curl_hash_clean(struct curl_hash *h) } free(h->table); h->table = NULL; } void Loading lib/llist.c +4 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,10 @@ Curl_llist_remove(struct curl_llist *list, struct curl_llist_element *e, list->dtor(user, e->ptr); e->ptr = NULL; e->prev = NULL; e->next = NULL; free(e); --list->size; Loading lib/multi.c +1 −0 Original line number Diff line number Diff line Loading @@ -1804,6 +1804,7 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle) /* remove the pending list of messages */ Curl_llist_destroy(multi->msglist, NULL); multi->msglist = NULL; /* remove all easy handles */ easy = multi->easy.next; Loading Loading
lib/cookie.c +9 −10 Original line number Diff line number Diff line Loading @@ -1107,23 +1107,20 @@ struct curl_slist *Curl_cookie_list(struct SessionHandle *data) c = data->cookies->cookies; beg = list; while(c) { /* fill the list with _all_ the cookies we know */ line = get_netscape_format(c); if(line == NULL) { curl_slist_free_all(beg); if(!line) { curl_slist_free_all(list); return NULL; } list = curl_slist_append(list, line); beg = curl_slist_append(list, line); free(line); if(list == NULL) { curl_slist_free_all(beg); if(!beg) { curl_slist_free_all(list); return NULL; } else if(beg == NULL) { beg = list; } list = beg; c = c->next; } Loading @@ -1148,10 +1145,12 @@ void Curl_flush_cookies(struct SessionHandle *data, int cleanup) data->set.str[STRING_COOKIEJAR]); } else { if(cleanup && data->change.cookielist) if(cleanup && data->change.cookielist) { /* since nothing is written, we can just free the list of cookie file names */ curl_slist_free_all(data->change.cookielist); /* clean up list */ data->change.cookielist = NULL; } Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); } Loading
lib/easy.c +8 −9 Original line number Diff line number Diff line Loading @@ -676,16 +676,15 @@ CURL *curl_easy_duphandle(CURL *incurl) if(outcurl) { if(outcurl->state.connc && (outcurl->state.connc->type == CONNCACHE_PRIVATE)) (outcurl->state.connc->type == CONNCACHE_PRIVATE)) { Curl_rm_connc(outcurl->state.connc); if(outcurl->state.headerbuff) free(outcurl->state.headerbuff); if(outcurl->change.cookielist) outcurl->state.connc = NULL; } curl_slist_free_all(outcurl->change.cookielist); if(outcurl->change.url) free(outcurl->change.url); if(outcurl->change.referer) free(outcurl->change.referer); outcurl->change.cookielist = NULL; Curl_safefree(outcurl->state.headerbuff); Curl_safefree(outcurl->change.url); Curl_safefree(outcurl->change.referer); Curl_freeset(outcurl); free(outcurl); } Loading
lib/hash.c +5 −1 Original line number Diff line number Diff line Loading @@ -72,9 +72,12 @@ Curl_hash_init(struct curl_hash *h, for(i = 0; i < slots; ++i) { h->table[i] = Curl_llist_alloc((curl_llist_dtor) hash_element_dtor); if(!h->table[i]) { while(i--) while(i--) { Curl_llist_destroy(h->table[i], NULL); h->table[i] = NULL; } free(h->table); h->table = NULL; return 1; /* failure */ } } Loading Loading @@ -240,6 +243,7 @@ Curl_hash_clean(struct curl_hash *h) } free(h->table); h->table = NULL; } void Loading
lib/llist.c +4 −0 Original line number Diff line number Diff line Loading @@ -131,6 +131,10 @@ Curl_llist_remove(struct curl_llist *list, struct curl_llist_element *e, list->dtor(user, e->ptr); e->ptr = NULL; e->prev = NULL; e->next = NULL; free(e); --list->size; Loading
lib/multi.c +1 −0 Original line number Diff line number Diff line Loading @@ -1804,6 +1804,7 @@ CURLMcode curl_multi_cleanup(CURLM *multi_handle) /* remove the pending list of messages */ Curl_llist_destroy(multi->msglist, NULL); multi->msglist = NULL; /* remove all easy handles */ easy = multi->easy.next; Loading