aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJeffrey Altman <jaltman@secure-endpoints.com>2007-09-24 12:30:03 +0000
committerJeffrey Altman <jaltman@secure-endpoints.com>2007-09-24 12:30:03 +0000
commitc2df7dfe8375f0696b9418a50f613b34bb86e757 (patch)
tree5f7ff385e1d256165e251b83297cffd545692927 /src
parentc30fdcd7fddcf0ca8c368959c2ab7c6f7361bb13 (diff)
downloadkrb5-c2df7dfe8375f0696b9418a50f613b34bb86e757.zip
krb5-c2df7dfe8375f0696b9418a50f613b34bb86e757.tar.gz
krb5-c2df7dfe8375f0696b9418a50f613b34bb86e757.tar.bz2
NIM: BUG: khm_krb5_initialize() failed to return error code
khm_krb5_initialize() is called in the krb5cred.dll and krb4cred.dll credential providers in order to ensure that the caller has references to a valid krb5_context and a valid krb5_ccache. If the krb5_cc_resolve() call failed, the error code was not being returned to the caller. Instead, success was returned which in turn would result in the caller believing the NULL krb5_ccache pointer was in fact valid. This fix resolves Microsoft's WER Event ID 432405961. ticket: new component: windows git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@19967 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src')
-rw-r--r--src/windows/identity/plugins/common/krb5common.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/windows/identity/plugins/common/krb5common.c b/src/windows/identity/plugins/common/krb5common.c
index 1278fbc..36d647c 100644
--- a/src/windows/identity/plugins/common/krb5common.c
+++ b/src/windows/identity/plugins/common/krb5common.c
@@ -42,7 +42,7 @@ khm_krb5_error(krb5_error_code rc, LPCSTR FailedFunctionName,
krb5_ccache * cache)
{
#ifdef NO_KRB5
- return 0;
+ return -1;
#else
#ifdef SHOW_MESSAGE_IN_AN_ANNOYING_WAY
@@ -87,12 +87,12 @@ khm_krb5_initialize(khm_handle ident,
krb5_ccache *cache)
{
#ifdef NO_KRB5
- return(0);
+ return(-1);
#else
LPCSTR functionName = NULL;
int freeContextFlag = 0;
- krb5_error_code rc = 0;
+ krb5_error_code rc = -1;
krb5_flags flags = 0;
if (pkrb5_init_context == NULL)
@@ -132,7 +132,7 @@ khm_krb5_initialize(khm_handle ident,
if(UnicodeStrToAnsi(ccname, sizeof(ccname), wccname) == 0)
break;
- if((*pkrb5_cc_resolve)(*ctx, ccname, cache)) {
+ if(rc = (*pkrb5_cc_resolve)(*ctx, ccname, cache)) {
functionName = "krb5_cc_resolve()";
freeContextFlag = 1;
goto on_error;