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:
Kevin Wolf 2020-11-17 17:30:45 +01:00 committed by Daniel P. Berrangé
parent 3428455df9
commit c2aa8a3d7e
1 changed files with 14 additions and 0 deletions

View File

@ -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
qauthz_simple_class_init(ObjectClass *oc, void *data)
{
QAuthZClass *authz = QAUTHZ_CLASS(oc);
UserCreatableClass *ucc = USER_CREATABLE_CLASS(oc);
ucc->complete = qauthz_simple_complete;
authz->is_allowed = qauthz_simple_is_allowed;
object_class_property_add_str(oc, "identity",