(tokey): catch warnings, free memory after use.
Based on Coverity NetBSD CID#1894 git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@17010 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -74,17 +74,24 @@ tokey(krb5_context context,
|
|||||||
krb5_salt salt,
|
krb5_salt salt,
|
||||||
const char *label)
|
const char *label)
|
||||||
{
|
{
|
||||||
|
krb5_error_code ret;
|
||||||
int i;
|
int i;
|
||||||
krb5_keyblock key;
|
krb5_keyblock key;
|
||||||
char *e;
|
char *e;
|
||||||
krb5_string_to_key_salt(context, enctype, pw, salt, &key);
|
|
||||||
krb5_enctype_to_string(context, enctype, &e);
|
ret = krb5_string_to_key_salt(context, enctype, pw, salt, &key);
|
||||||
|
if (ret)
|
||||||
|
krb5_err(context, 1, ret, "krb5_string_to_key_salt");
|
||||||
|
ret = krb5_enctype_to_string(context, enctype, &e);
|
||||||
|
if (ret)
|
||||||
|
krb5_err(context, 1, ret, "krb5_enctype_to_string");
|
||||||
printf(label, e);
|
printf(label, e);
|
||||||
printf(": ");
|
printf(": ");
|
||||||
for(i = 0; i < key.keyvalue.length; i++)
|
for(i = 0; i < key.keyvalue.length; i++)
|
||||||
printf("%02x", ((unsigned char*)key.keyvalue.data)[i]);
|
printf("%02x", ((unsigned char*)key.keyvalue.data)[i]);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
krb5_free_keyblock_contents(context, &key);
|
krb5_free_keyblock_contents(context, &key);
|
||||||
|
free(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
Reference in New Issue
Block a user