summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/cifs.upcall.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/client/cifs.upcall.c b/client/cifs.upcall.c
index bfc70d15ed..42632a0da0 100644
--- a/client/cifs.upcall.c
+++ b/client/cifs.upcall.c
@@ -56,6 +56,7 @@ get_tgt_time(const char *ccname) {
krb5_principal principal;
time_t credtime = 0;
char *realm = NULL;
+ TALLOC_CTX *mem_ctx;
if (krb5_init_context(&context)) {
syslog(LOG_DEBUG, "%s: unable to init krb5 context", __func__);
@@ -87,9 +88,10 @@ get_tgt_time(const char *ccname) {
goto err_ccstart;
}
+ mem_ctx = talloc_init("cifs.upcall");
while (!credtime && !krb5_cc_next_cred(context, ccache, &cur, &creds)) {
char *name;
- if (smb_krb5_unparse_name(NULL, context, creds.server, &name)) {
+ if (smb_krb5_unparse_name(mem_ctx, context, creds.server, &name)) {
syslog(LOG_DEBUG, "%s: unable to unparse name", __func__);
goto err_endseq;
}
@@ -102,6 +104,7 @@ get_tgt_time(const char *ccname) {
TALLOC_FREE(name);
}
err_endseq:
+ TALLOC_FREE(mem_ctx);
krb5_cc_end_seq_get(context, ccache, &cur);
err_ccstart:
krb5_free_principal(context, principal);