diff --git a/lib/cookie.c b/lib/cookie.c index 551dd1489299d66d52e066ff0ae6cd37ed940dca..12e4074c283485083f5cc9452a7fc1815a92b037 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -423,7 +423,7 @@ struct CookieInfo *Curl_cookie_init(char *file, struct CookieInfo *inc) } c->running = FALSE; /* this is not running, this is init */ - if(strequal(file, "-")) { + if(file && strequal(file, "-")) { fp = stdin; fromfile=FALSE; } diff --git a/lib/url.c b/lib/url.c index a9f12d6703679e3e187f5e71661dfa7a5223e727..dd44b3864cbf3dcfb16241635709c4a5fab99a6b 100644 --- a/lib/url.c +++ b/lib/url.c @@ -503,7 +503,13 @@ CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...) /* * Set cookie file name to dump all cookies to when we're done. */ - data->set.cookiejar = cookiefile = (char *)va_arg(param, void *); + data->set.cookiejar = (char *)va_arg(param, void *); + + /* + * Activate the cookie parser. This may or may not already + * have been made. + */ + data->cookies = Curl_cookie_init(NULL, data->cookies); break; case CURLOPT_WRITEHEADER: /*