diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/lib/krb5/ccache/cc_file.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/krb5/ccache/cc_file.c b/src/lib/krb5/ccache/cc_file.c index 42e9ba0f6..0fe099c45 100644 --- a/src/lib/krb5/ccache/cc_file.c +++ b/src/lib/krb5/ccache/cc_file.c @@ -1734,6 +1734,7 @@ krb5_fcc_resolve (krb5_context context, krb5_ccache *id, const char *residual) setptr = malloc(sizeof(struct fcc_set)); if (setptr == NULL) { k5_mutex_unlock(&krb5int_cc_file_mutex); + k5_mutex_unlock(&data->lock); k5_mutex_destroy(&data->lock); free(data->filename); free(data); @@ -1984,7 +1985,6 @@ krb5_fcc_generate_new (krb5_context context, krb5_ccache *id) free(data); close(ret); unlink(scratch); - k5_mutex_unlock(&krb5int_cc_file_mutex); return KRB5_CC_NOMEM; } @@ -2056,6 +2056,7 @@ krb5_fcc_generate_new (krb5_context context, krb5_ccache *id) setptr = malloc(sizeof(struct fcc_set)); if (setptr == NULL) { k5_mutex_unlock(&krb5int_cc_file_mutex); + k5_mutex_unlock(&data->lock); k5_mutex_destroy(&data->lock); free(data->filename); free(data); |