Try to not leak memory.

git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@18845 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
Love Hörnquist Åstrand
2006-10-22 20:13:52 +00:00
parent 9e4236598e
commit 0a3bd1b7b8
2 changed files with 9 additions and 0 deletions

View File

@@ -330,6 +330,7 @@ _kdc_do_digest(krb5_context context,
krb5_abortx(context, "ASN1 internal error"); krb5_abortx(context, "ASN1 internal error");
hex_encode(buf.data, buf.length, &r.u.initReply.opaque); hex_encode(buf.data, buf.length, &r.u.initReply.opaque);
free(buf.data);
if (r.u.initReply.opaque == NULL) { if (r.u.initReply.opaque == NULL) {
krb5_clear_error_string(context); krb5_clear_error_string(context);
ret = ENOMEM; ret = ENOMEM;
@@ -474,6 +475,7 @@ _kdc_do_digest(krb5_context context,
ret = _kdc_db_fetch(context, config, clientprincipal, ret = _kdc_db_fetch(context, config, clientprincipal,
HDB_F_GET_CLIENT, &db, &user); HDB_F_GET_CLIENT, &db, &user);
krb5_free_principal(context, clientprincipal);
if (ret) if (ret)
goto out; goto out;
@@ -680,6 +682,8 @@ _kdc_do_digest(krb5_context context,
out: out:
if (ac)
krb5_auth_con_free(context, ac);
if (ret) if (ret)
krb5_warn(context, ret, "Digest request from %s failed", from); krb5_warn(context, ret, "Digest request from %s failed", from);
if (ticket) if (ticket)

View File

@@ -252,6 +252,8 @@ digest_request(krb5_context context,
krb5_data_zero(&data); krb5_data_zero(&data);
krb5_data_zero(&data2); krb5_data_zero(&data2);
memset(&req, 0, sizeof(req));
memset(&rep, 0, sizeof(rep));
if (ccache == NULL) { if (ccache == NULL) {
ret = krb5_cc_default(context, &id); ret = krb5_cc_default(context, &id);
@@ -395,6 +397,9 @@ out:
krb5_data_free(&data); krb5_data_free(&data);
krb5_data_free(&data2); krb5_data_free(&data2);
free_DigestREQ(&req);
free_DigestREP(&rep);
return ret; return ret;
} }