From 130a92214cc0b9a8f4ea24a3dcd3ed04575e3c4e Mon Sep 17 00:00:00 2001 From: Yadavendra Yadav Date: Sat, 10 Aug 2019 02:41:01 +0530 Subject: [PATCH] aklog: free kbr5_creds before returning from rxkad_get_token rxkad_get_ticket allocates 'v5cred' which should be freed when we return from rxkad_get_token. Change-Id: I09b20781f0856ab8e230e0af271e9d0c58fee90c Reviewed-on: https://gerrit.openafs.org/13760 Reviewed-by: Andrew Deason Reviewed-by: Benjamin Kaduk Tested-by: Benjamin Kaduk --- src/aklog/aklog.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/aklog/aklog.c b/src/aklog/aklog.c index da91229..b753bff 100644 --- a/src/aklog/aklog.c +++ b/src/aklog/aklog.c @@ -859,7 +859,7 @@ rxkad_get_converted_token(krb5_context context, krb5_creds *v5cred, static int rxkad_get_token(krb5_context context, struct afsconf_cell *cell, char *realm, struct ktc_tokenUnion **token, char **authuser, int *foreign) { - krb5_creds *v5cred; + krb5_creds *v5cred = NULL; char *realmUsed = NULL; char *username = NULL; int status; @@ -870,7 +870,7 @@ rxkad_get_token(krb5_context context, struct afsconf_cell *cell, char *realm, status = rxkad_get_ticket(context, realm, cell, &v5cred, &realmUsed); if (status) - return status; + goto out; if (do524) status = rxkad_get_converted_token(context, v5cred, token, &username); @@ -901,6 +901,8 @@ out: free(realmUsed); if (username) free(username); + if (v5cred) + krb5_free_creds(context, v5cred); return status; } -- 1.9.4