krb5: not_found must free krb5_get_error_message string
Even though krb5_get_error_message() returns 'const char *' the C-string is allocated and must be freed using krb5_free_error_message(). Change-Id: I8d4ef6fce12f113617443d15abadf51f1e04cf1a
This commit is contained in:

committed by
Jeffrey Altman

parent
c6213fc894
commit
739f7e0484
@@ -684,15 +684,17 @@ static int
|
|||||||
not_found(krb5_context context, krb5_const_principal p, krb5_error_code code)
|
not_found(krb5_context context, krb5_const_principal p, krb5_error_code code)
|
||||||
{
|
{
|
||||||
krb5_error_code ret;
|
krb5_error_code ret;
|
||||||
char *str, *err;
|
char *str;
|
||||||
|
const char *err;
|
||||||
|
|
||||||
err = krb5_get_error_message(context, code);
|
|
||||||
ret = krb5_unparse_name(context, p, &str);
|
ret = krb5_unparse_name(context, p, &str);
|
||||||
if(ret) {
|
if(ret) {
|
||||||
krb5_clear_error_message(context);
|
krb5_clear_error_message(context);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
err = krb5_get_error_message(context, code);
|
||||||
krb5_set_error_message(context, code, N_("%s (%s)", ""), err, str);
|
krb5_set_error_message(context, code, N_("%s (%s)", ""), err, str);
|
||||||
|
krb5_free_error_message(context, err);
|
||||||
free(str);
|
free(str);
|
||||||
return code;
|
return code;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user