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.
This commit is contained in:
Christian Grothoff
2012-06-19 17:44:15 +00:00
parent 0ef1eadb3f
commit 6dd259d216
@@ -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;