aboutsummaryrefslogtreecommitdiff
path: root/lib/curl_sspi.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/curl_sspi.c')
-rw-r--r--lib/curl_sspi.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/curl_sspi.c b/lib/curl_sspi.c
index d3533a293..29f8a436d 100644
--- a/lib/curl_sspi.c
+++ b/lib/curl_sspi.c
@@ -133,6 +133,7 @@ Curl_sspi_version()
LPTSTR path = NULL;
LPVOID data = NULL;
DWORD size, handle;
+ UINT length;
if(s_hSecDll) {
path = malloc(MAX_PATH);
@@ -143,8 +144,8 @@ Curl_sspi_version()
data = malloc(size);
if(data) {
if(GetFileVersionInfo(path, handle, size, data)) {
- if(VerQueryValue(data, "\\", &version_info, &handle)) {
- version = curl_maprintf("SSPI/%d.%d.%d.%d",
+ if(VerQueryValue(data, "\\", (LPVOID*)&version_info, &length)) {
+ version = curl_maprintf("%d.%d.%d.%d",
(version_info->dwProductVersionMS>>16)&0xffff,
(version_info->dwProductVersionMS>>0)&0xffff,
(version_info->dwProductVersionLS>>16)&0xffff,
@@ -158,7 +159,7 @@ Curl_sspi_version()
free(path);
}
if(!version)
- version = strdup("SSPI/Unknown");
+ version = curl_maprintf("%d", s_pSecFn ? s_pSecFn->dwVersion : 0);
}
if(!version)
@@ -265,7 +266,8 @@ Curl_sspi_status(SECURITY_STATUS status)
status_const = "Unknown error";
}
- return curl_maprintf("%s (0x%08X)", status_const, status);
+ return curl_maprintf("%s (0x%04X%04X)", status_const,
+ (status>>16)&0xffff, status&0xffff);
}