summaryrefslogtreecommitdiffstats
path: root/src/lib
diff options
context:
space:
mode:
authorBen Kaduk <kaduk@mit.edu>2012-08-31 17:48:14 -0400
committerBen Kaduk <kaduk@mit.edu>2012-09-11 14:11:46 -0400
commitcd58adf4b0f52d0293ec8bf9d7d3e87bd1e6ce3f (patch)
treefb364b866e7ce49b1026bb640293b4caacad620c /src/lib
parent73ae2c8c609dbb34817892019f33c8f81075cfcd (diff)
downloadkrb5-cd58adf4b0f52d0293ec8bf9d7d3e87bd1e6ce3f.tar.gz
krb5-cd58adf4b0f52d0293ec8bf9d7d3e87bd1e6ce3f.tar.xz
krb5-cd58adf4b0f52d0293ec8bf9d7d3e87bd1e6ce3f.zip
Do not retrieve zero-length creds
In the MSLSA cache, if we get back a zero-length ticket, don't accept it as success; continue on to try and get an acceptable ticket. ticket: 7349 (new) subject: SapGUI sometimes crashes on new session with MSLSA cache target_version: 1.10.4 tags: pullup
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/krb5/ccache/cc_mslsa.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/lib/krb5/ccache/cc_mslsa.c b/src/lib/krb5/ccache/cc_mslsa.c
index 39d78e78ea..d692b42700 100644
--- a/src/lib/krb5/ccache/cc_mslsa.c
+++ b/src/lib/krb5/ccache/cc_mslsa.c
@@ -2489,7 +2489,8 @@ krb5_lcc_retrieve(krb5_context context, krb5_ccache id, krb5_flags whichfields,
/* first try to find out if we have an existing ticket which meets the requirements */
kret = krb5_cc_retrieve_cred_default (context, id, whichfields, mcreds, creds);
- if ( !kret )
+ /* This sometimes returns a zero-length ticket; work around it. */
+ if ( !kret && creds->ticket.length > 0 )
return KRB5_OK;
/* if not, we must try to get a ticket without specifying any flags or etypes */
@@ -2506,7 +2507,8 @@ krb5_lcc_retrieve(krb5_context context, krb5_ccache id, krb5_flags whichfields,
/* try again to find out if we have an existing ticket which meets the requirements */
kret = krb5_cc_retrieve_cred_default (context, id, whichfields, mcreds, creds);
- if ( !kret )
+ /* This sometimes returns a zero-length ticket; work around it. */
+ if ( !kret && creds->ticket.length > 0 )
goto cleanup;
/* if not, obtain a ticket using the request flags and enctype even though it may not