authz-simple: Check that 'identity' property is set
If the 'identify' property is not set, we'll pass a NULL pointer to g_str_equal() and crash. Catch the error condition during the creation of the object. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
This commit is contained in:
parent
3428455df9
commit
c2aa8a3d7e
@ -65,11 +65,25 @@ qauthz_simple_finalize(Object *obj)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
qauthz_simple_complete(UserCreatable *uc, Error **errp)
|
||||||
|
{
|
||||||
|
QAuthZSimple *sauthz = QAUTHZ_SIMPLE(uc);
|
||||||
|
|
||||||
|
if (!sauthz->identity) {
|
||||||
|
error_setg(errp, "The 'identity' property must be set");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
qauthz_simple_class_init(ObjectClass *oc, void *data)
|
qauthz_simple_class_init(ObjectClass *oc, void *data)
|
||||||
{
|
{
|
||||||
QAuthZClass *authz = QAUTHZ_CLASS(oc);
|
QAuthZClass *authz = QAUTHZ_CLASS(oc);
|
||||||
|
UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc);
|
||||||
|
|
||||||
|
ucc->complete = qauthz_simple_complete;
|
||||||
authz->is_allowed = qauthz_simple_is_allowed;
|
authz->is_allowed = qauthz_simple_is_allowed;
|
||||||
|
|
||||||
object_class_property_add_str(oc, "identity",
|
object_class_property_add_str(oc, "identity",
|
||||||
|
Loading…
Reference in New Issue
Block a user