(renew_validate): hopefully fix up freeing of memory

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5998 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Assar Westerlund
1999-04-19 13:19:40 +00:00
parent 64bc8cd775
commit 72cbcac0e9

View File

@@ -147,6 +147,7 @@ renew_validate(krb5_context context,
} }
} else { } else {
char *realm; char *realm;
ret = krb5_get_default_realm(context, &realm); ret = krb5_get_default_realm(context, &realm);
if(ret) { if(ret) {
krb5_warn(context, ret, "krb5_get_default_realm"); krb5_warn(context, ret, "krb5_get_default_realm");
@@ -154,11 +155,11 @@ renew_validate(krb5_context context,
} }
ret = krb5_make_principal(context, &in.server, ret = krb5_make_principal(context, &in.server,
realm, "krbtgt", realm, NULL); realm, "krbtgt", realm, NULL);
free (realm);
if(ret) { if(ret) {
krb5_warn(context, ret, "krb5_make_principal"); krb5_warn(context, ret, "krb5_make_principal");
goto out; goto out;
} }
free(realm);
} }
flags.i = 0; flags.i = 0;
flags.b.renewable = flags.b.renew = renew; flags.b.renewable = flags.b.renew = renew;
@@ -179,16 +180,18 @@ renew_validate(krb5_context context,
} }
ret = krb5_cc_initialize(context, cache, in.client); ret = krb5_cc_initialize(context, cache, in.client);
if(ret) { if(ret) {
krb5_free_creds (context, out);
krb5_warn(context, ret, "krb5_cc_initialize"); krb5_warn(context, ret, "krb5_cc_initialize");
goto out; goto out;
} }
ret = krb5_cc_store_cred(context, cache, out); ret = krb5_cc_store_cred(context, cache, out);
krb5_free_creds (context, out);
if(ret) { if(ret) {
krb5_warn(context, ret, "krb5_cc_store_cred"); krb5_warn(context, ret, "krb5_cc_store_cred");
goto out; goto out;
} }
out: out:
krb5_free_creds(context, out); krb5_free_creds_contents(context, &in);
return ret; return ret;
} }