From 6dd259d216c14ddd99b2b9b96beddfd1153b7387 Mon Sep 17 00:00:00 2001 From: Christian Grothoff Date: Tue, 19 Jun 2012 17:44:15 +0000 Subject: [PATCH] Mike Crowe: According to the libcurl documentation the parameter to curl_version_info should be CURLVERSION_NOW rather than a bit value from the features bitmask. Also, on my installation at least libssh_version is NULL so the check segfaults. It would seem that ssl_version is a more appropriate field to check. Finally, if libcurl lacks SSL support them ssl_version may be NULL. Make sure we don't segfault inside strcasestr if that is the case. --- src/testcurl/https/tls_multi_thread_mode_test.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/testcurl/https/tls_multi_thread_mode_test.c b/src/testcurl/https/tls_multi_thread_mode_test.c index ee5a8d12..28fdfcd4 100644 --- a/src/testcurl/https/tls_multi_thread_mode_test.c +++ b/src/testcurl/https/tls_multi_thread_mode_test.c @@ -126,11 +126,18 @@ int main (int argc, char *const *argv) { unsigned int errorCount = 0; + const char *ssl_version; /* initialize random seed used by curl clients */ unsigned int iseed = (unsigned int) time (NULL); srand (iseed); - if (NULL != strcasestr (curl_version_info (CURL_VERSION_SSL)->libssh_version, "openssl")) + ssl_version = curl_version_info (CURLVERSION_NOW)->ssl_version; + if (NULL == ssl_version) + { + fprintf (stderr, "Curl does not support SSL. Cannot run the test.\n"); + return 0; + } + if (NULL != strcasestr (ssl_version, "openssl")) { fprintf (stderr, "Refusing to run test with OpenSSL. Please install libcurl-gnutls\n"); return 0;