kdc: hprop check return code if local realm
If 'local_realm' is true, must protect against failure of krb5_get_default_realm() and krb5_principal_set_realm(). Otherwise, the wrong realm might be used. Change-Id: Ib7a92559da1ac062c71228c5530106a13d836d53
This commit is contained in:
14
kdc/hprop.c
14
kdc/hprop.c
@@ -316,9 +316,17 @@ propagate_database (krb5_context context, int type,
|
|||||||
|
|
||||||
if (local_realm) {
|
if (local_realm) {
|
||||||
krb5_realm my_realm;
|
krb5_realm my_realm;
|
||||||
krb5_get_default_realm(context,&my_realm);
|
ret = krb5_get_default_realm(context,&my_realm);
|
||||||
krb5_principal_set_realm(context,server,my_realm);
|
if (ret == 0) {
|
||||||
krb5_xfree(my_realm);
|
ret = krb5_principal_set_realm(context,server,my_realm);
|
||||||
|
krb5_xfree(my_realm);
|
||||||
|
}
|
||||||
|
if (ret) {
|
||||||
|
failed++;
|
||||||
|
krb5_warn(context, ret, "unable to obtain default or set realm");
|
||||||
|
close(fd);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
auth_context = NULL;
|
auth_context = NULL;
|
||||||
|
Reference in New Issue
Block a user