(krb5_get_in_cred): be more careful about freeing memory
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@5754 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -114,7 +114,8 @@ decrypt_tkt (krb5_context context,
|
|||||||
&dec_rep->enc_part,
|
&dec_rep->enc_part,
|
||||||
&size);
|
&size);
|
||||||
krb5_data_free (&data);
|
krb5_data_free (&data);
|
||||||
if (ret) return ret;
|
if (ret)
|
||||||
|
return ret;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -645,12 +646,12 @@ krb5_get_in_cred(krb5_context context,
|
|||||||
ret = krb5_get_pw_salt (context, creds->client, &salt);
|
ret = krb5_get_pw_salt (context, creds->client, &salt);
|
||||||
|
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
goto out;
|
||||||
ret = (*key_proc)(context, etype, salt, keyseed, &key);
|
ret = (*key_proc)(context, etype, salt, keyseed, &key);
|
||||||
krb5_free_salt(context, salt);
|
krb5_free_salt(context, salt);
|
||||||
}
|
}
|
||||||
if (ret)
|
if (ret)
|
||||||
return ret;
|
goto out;
|
||||||
|
|
||||||
ret = _krb5_extract_ticket(context,
|
ret = _krb5_extract_ticket(context,
|
||||||
&rep,
|
&rep,
|
||||||
@@ -667,6 +668,7 @@ krb5_get_in_cred(krb5_context context,
|
|||||||
krb5_free_keyblock_contents (context, key);
|
krb5_free_keyblock_contents (context, key);
|
||||||
free (key);
|
free (key);
|
||||||
|
|
||||||
|
out:
|
||||||
if (ret == 0 && ret_as_reply)
|
if (ret == 0 && ret_as_reply)
|
||||||
*ret_as_reply = rep;
|
*ret_as_reply = rep;
|
||||||
else
|
else
|
||||||
|
Reference in New Issue
Block a user