kimpersonate: Fix leaks

This commit is contained in:
Nicolas Williams
2022-01-11 11:35:45 -06:00
parent fc964cd545
commit cfa7865518

View File

@@ -82,9 +82,7 @@ encode_ticket(krb5_context context,
et.flags = cred->flags.b; et.flags = cred->flags.b;
et.key = cred->session; et.key = cred->session;
et.crealm = cred->client->realm; et.crealm = cred->client->realm;
ret = copy_PrincipalName(&cred->client->name, &et.cname); et.cname = cred->client->name;
if (ret)
krb5_err(context, 1, ret, "copy_PrincipalName");
{ {
krb5_data empty_string; krb5_data empty_string;
@@ -129,16 +127,11 @@ encode_ticket(krb5_context context,
ticket.tkt_vno = 5; ticket.tkt_vno = 5;
ticket.realm = cred->server->realm; ticket.realm = cred->server->realm;
ret = copy_PrincipalName(&cred->server->name, &ticket.sname); ticket.sname = cred->server->name;
if (ret) ASN1_MALLOC_ENCODE(Ticket, cred->ticket.data, cred->ticket.length, &ticket, &size, ret);
krb5_err(context, 1, ret, "copy_PrincipalName"); free_EncryptedData(&ticket.enc_part);
ASN1_MALLOC_ENCODE(Ticket, buf, len, &ticket, &size, ret);
if(ret) if(ret)
krb5_err(context, 1, ret, "encode_Ticket"); krb5_err(context, 1, ret, "encode_Ticket");
krb5_data_copy(&cred->ticket, buf, len);
free(buf);
} }
/* /*
@@ -395,6 +388,7 @@ main(int argc, char **argv)
create_krb5_tickets(context, kt); create_krb5_tickets(context, kt);
krb5_kt_close(context, kt); krb5_kt_close(context, kt);
krb5_free_context(context);
return 0; return 0;
} }