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 <adeason@sinenomine.net>
Reviewed-by: Benjamin Kaduk <kaduk@mit.edu>
Tested-by: Benjamin Kaduk <kaduk@mit.edu>
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;
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);
free(realmUsed);
if (username)
free(username);
+ if (v5cred)
+ krb5_free_creds(context, v5cred);
return status;
}