/* 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;
}
{
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);