free some memory
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@2563 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -222,11 +222,13 @@ process_reply (krb5_context context,
|
|||||||
if (ret) {
|
if (ret) {
|
||||||
warnx ("krb5_rd_priv: %s",
|
warnx ("krb5_rd_priv: %s",
|
||||||
krb5_get_err_text(context, ret));
|
krb5_get_err_text(context, ret));
|
||||||
|
krb5_data_free (&result_data);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (result_data.length < 2) {
|
if (result_data.length < 2) {
|
||||||
warnx ("bad length in result");
|
warnx ("bad length in result");
|
||||||
|
krb5_data_free (&result_data);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
p = result_data.data;
|
p = result_data.data;
|
||||||
@@ -236,12 +238,14 @@ process_reply (krb5_context context,
|
|||||||
printf ("succeeded: %.*s\n",
|
printf ("succeeded: %.*s\n",
|
||||||
(int)result_data.length - 2,
|
(int)result_data.length - 2,
|
||||||
(char *)result_data.data + 2);
|
(char *)result_data.data + 2);
|
||||||
|
krb5_data_free (&result_data);
|
||||||
return 0;
|
return 0;
|
||||||
} else {
|
} else {
|
||||||
printf ("failed(%d): %.*s\n",
|
printf ("failed(%d): %.*s\n",
|
||||||
result_code,
|
result_code,
|
||||||
(int)result_data.length - 2,
|
(int)result_data.length - 2,
|
||||||
(char *)result_data.data + 2);
|
(char *)result_data.data + 2);
|
||||||
|
krb5_data_free (&result_data);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@@ -303,8 +307,6 @@ change_password (krb5_context context,
|
|||||||
krb5_get_err_text(context, ret));
|
krb5_get_err_text(context, ret));
|
||||||
|
|
||||||
memset(&cred, 0, sizeof(cred));
|
memset(&cred, 0, sizeof(cred));
|
||||||
cred.client = principal;
|
|
||||||
cred.times.endtime = 0;
|
|
||||||
|
|
||||||
ret = krb5_build_principal_ext (context,
|
ret = krb5_build_principal_ext (context,
|
||||||
&server,
|
&server,
|
||||||
@@ -321,8 +323,8 @@ change_password (krb5_context context,
|
|||||||
|
|
||||||
server->name.name_type = KRB5_NT_SRV_INST;
|
server->name.name_type = KRB5_NT_SRV_INST;
|
||||||
|
|
||||||
krb5_copy_principal (context, principal, &cred.client);
|
cred.client = principal;
|
||||||
krb5_copy_principal (context, server, &cred.server);
|
cred.server = server;
|
||||||
cred.times.endtime = time(NULL) + 300;
|
cred.times.endtime = time(NULL) + 300;
|
||||||
|
|
||||||
{
|
{
|
||||||
@@ -360,14 +362,15 @@ change_password (krb5_context context,
|
|||||||
|
|
||||||
addr = get_kdc_address (context, principal->realm);
|
addr = get_kdc_address (context, principal->realm);
|
||||||
|
|
||||||
cred.server = server;
|
|
||||||
cred.client = principal;
|
cred.client = principal;
|
||||||
|
cred.server = server;
|
||||||
|
|
||||||
ret = krb5_cc_retrieve_cred (context,
|
ret = krb5_cc_retrieve_cred (context,
|
||||||
ccache,
|
ccache,
|
||||||
0, /* ignored */
|
0, /* ignored */
|
||||||
&cred,
|
&cred,
|
||||||
&cred_out);
|
&cred_out);
|
||||||
|
krb5_free_principal (context, server);
|
||||||
if (ret)
|
if (ret)
|
||||||
errx (1, "krb5_cc_retrieve_cred: %s",
|
errx (1, "krb5_cc_retrieve_cred: %s",
|
||||||
krb5_get_err_text(context, ret));
|
krb5_get_err_text(context, ret));
|
||||||
@@ -405,6 +408,8 @@ change_password (krb5_context context,
|
|||||||
auth_context,
|
auth_context,
|
||||||
sock);
|
sock);
|
||||||
|
|
||||||
|
krb5_auth_con_free (context, auth_context);
|
||||||
|
|
||||||
krb5_cc_destroy (context, ccache);
|
krb5_cc_destroy (context, ccache);
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
|
Reference in New Issue
Block a user