diff options
author | Pavel P <pavlov.pavel@gmail.com> | 2017-09-18 15:50:16 -0700 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2017-09-19 23:48:48 +0200 |
commit | 5fe85587ccd2d3365540cd652e6a3bb1b0393f3a (patch) | |
tree | 16542a5d4bc59aa4604f3b99d2851b8535e1ea86 /lib | |
parent | c73ebb85374164515eb9df6d619a5822b6568599 (diff) |
cookies: use lock when using CURLINFO_COOKIELIST
Closes #1896
Diffstat (limited to 'lib')
-rw-r--r-- | lib/cookie.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/lib/cookie.c b/lib/cookie.c index 1231882ed..0374f94c1 100644 --- a/lib/cookie.c +++ b/lib/cookie.c @@ -1402,7 +1402,7 @@ static int cookie_output(struct CookieInfo *c, const char *dumphere) return 0; } -struct curl_slist *Curl_cookie_list(struct Curl_easy *data) +static struct curl_slist *cookie_list(struct Curl_easy *data) { struct curl_slist *list = NULL; struct curl_slist *beg; @@ -1433,6 +1433,15 @@ struct curl_slist *Curl_cookie_list(struct Curl_easy *data) return list; } +struct curl_slist *Curl_cookie_list(struct Curl_easy *data) +{ + struct curl_slist *list; + Curl_share_lock(data, CURL_LOCK_DATA_COOKIE, CURL_LOCK_ACCESS_SINGLE); + list = cookie_list(data); + Curl_share_unlock(data, CURL_LOCK_DATA_COOKIE); + return list; +} + void Curl_flush_cookies(struct Curl_easy *data, int cleanup) { if(data->set.str[STRING_COOKIEJAR]) { |