diff --git a/lib/gssapi/acquire_cred.c b/lib/gssapi/acquire_cred.c index 06fdc4b7d..bfb3b63a2 100644 --- a/lib/gssapi/acquire_cred.c +++ b/lib/gssapi/acquire_cred.c @@ -306,8 +306,14 @@ OM_uint32 gss_acquire_cred return (ret); } *minor_status = 0; - if (time_rec) - *time_rec = handle->lifetime; + if (time_rec) { + ret = gssapi_lifetime_left(minor_status, + handle->lifetime, + time_rec); + + if (ret) + return ret; + } handle->usage = cred_usage; *output_cred_handle = handle; return (GSS_S_COMPLETE); diff --git a/lib/gssapi/krb5/acquire_cred.c b/lib/gssapi/krb5/acquire_cred.c index 06fdc4b7d..bfb3b63a2 100644 --- a/lib/gssapi/krb5/acquire_cred.c +++ b/lib/gssapi/krb5/acquire_cred.c @@ -306,8 +306,14 @@ OM_uint32 gss_acquire_cred return (ret); } *minor_status = 0; - if (time_rec) - *time_rec = handle->lifetime; + if (time_rec) { + ret = gssapi_lifetime_left(minor_status, + handle->lifetime, + time_rec); + + if (ret) + return ret; + } handle->usage = cred_usage; *output_cred_handle = handle; return (GSS_S_COMPLETE);