(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:
@@ -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;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user