mirror of
https://github.com/moparisthebest/curl
synced 2024-11-11 12:05:06 -05:00
fix out of memory handling issue
This commit is contained in:
parent
47594be5c0
commit
d9e89e170f
11
lib/cookie.c
11
lib/cookie.c
@ -1005,13 +1005,18 @@ struct curl_slist *Curl_cookie_list(struct SessionHandle *data)
|
||||
/* fill the list with _all_ the cookies we know */
|
||||
line = get_netscape_format(c);
|
||||
if (line == NULL) {
|
||||
/* get_netscape_format returns null only if we run out of memory */
|
||||
|
||||
curl_slist_free_all(beg); /* free some memory */
|
||||
curl_slist_free_all(beg);
|
||||
return NULL;
|
||||
}
|
||||
list = curl_slist_append(list, line);
|
||||
free(line);
|
||||
if (list == NULL) {
|
||||
curl_slist_free_all(beg);
|
||||
return NULL;
|
||||
}
|
||||
else if (beg == NULL) {
|
||||
beg = list;
|
||||
}
|
||||
c = c->next;
|
||||
}
|
||||
|
||||
|
11
lib/ssluse.c
11
lib/ssluse.c
@ -678,10 +678,19 @@ struct curl_slist *Curl_ossl_engines_list(struct SessionHandle *data)
|
||||
{
|
||||
struct curl_slist *list = NULL;
|
||||
#if defined(USE_SSLEAY) && defined(HAVE_OPENSSL_ENGINE_H)
|
||||
struct curl_slist *beg = NULL;
|
||||
ENGINE *e;
|
||||
|
||||
for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e))
|
||||
for (e = ENGINE_get_first(); e; e = ENGINE_get_next(e)) {
|
||||
list = curl_slist_append(list, ENGINE_get_id(e));
|
||||
if (list == NULL) {
|
||||
curl_slist_free_all(beg);
|
||||
return NULL;
|
||||
}
|
||||
else if (beg == NULL) {
|
||||
beg = list;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
(void) data;
|
||||
return (list);
|
||||
|
Loading…
Reference in New Issue
Block a user