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)
|
||||
{
|
||||
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);
|
||||
if(ret) {
|
||||
krb5_clear_error_message(context);
|
||||
return code;
|
||||
}
|
||||
err = krb5_get_error_message(context, code);
|
||||
krb5_set_error_message(context, code, N_("%s (%s)", ""), err, str);
|
||||
krb5_free_error_message(context, err);
|
||||
free(str);
|
||||
return code;
|
||||
}
|
||||
|
Reference in New Issue
Block a user