From e1e482517fdbbea04374b961acb4b39fcf978011 Mon Sep 17 00:00:00 2001 From: Patrick Monnerat Date: Sun, 25 Sep 2022 17:30:23 +0200 Subject: [PATCH] docs: curl_version_info is not thread-safe before libcurl initialization Closes #9583 --- docs/libcurl/curl_version_info.3 | 4 ++++ docs/libcurl/libcurl-thread.3 | 2 ++ 2 files changed, 6 insertions(+) diff --git a/docs/libcurl/curl_version_info.3 b/docs/libcurl/curl_version_info.3 index 362261992c..a6c28a7d3c 100644 --- a/docs/libcurl/curl_version_info.3 +++ b/docs/libcurl/curl_version_info.3 @@ -46,6 +46,10 @@ Applications should use this information to judge if things are possible to do or not, instead of using compile-time checks, as dynamic/DLL libraries can be changed independent of applications. +This function can alter the returned static data as long as +\fIcurl_global_init\fP has not been called. It is therefore not thread-safe +before libcurl initialization occurs. + The curl_version_info_data struct looks like this .nf diff --git a/docs/libcurl/libcurl-thread.3 b/docs/libcurl/libcurl-thread.3 index 1aebbb3e8e..32562c780f 100644 --- a/docs/libcurl/libcurl-thread.3 +++ b/docs/libcurl/libcurl-thread.3 @@ -111,3 +111,5 @@ replacements, must be thread safe. You can use \fIcurl_global_init_mem(3)\fP to set your own replacement memory functions. .IP "Non-safe functions" \fICURLOPT_DNS_USE_GLOBAL_CACHE(3)\fP is not thread-safe. + +\fIcurl_version_info(3)\fP is not thread-safe before libcurl initialization.