user-accounts: check for NULL on um_realm_object_get_common
um_realm_object_get_common can return NULL, which shouldn't be passed into subsequent functions to avoid crashes. https://bugzilla.gnome.org/show_bug.cgi?id=705351
This commit is contained in:
parent
15a1bf7196
commit
3e6b741ad2
3 changed files with 17 additions and 4 deletions
|
@ -655,6 +655,8 @@ enterprise_add_realm (UmAccountDialog *self,
|
||||||
gchar *name;
|
gchar *name;
|
||||||
|
|
||||||
common = um_realm_object_get_common (realm);
|
common = um_realm_object_get_common (realm);
|
||||||
|
g_return_if_fail (common != NULL);
|
||||||
|
|
||||||
realm_name = um_realm_common_get_name (common);
|
realm_name = um_realm_common_get_name (common);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -793,6 +795,12 @@ enterprise_permit_user_login (UmAccountDialog *self)
|
||||||
GVariant *options;
|
GVariant *options;
|
||||||
|
|
||||||
common = um_realm_object_get_common (self->selected_realm);
|
common = um_realm_object_get_common (self->selected_realm);
|
||||||
|
if (common != NULL) {
|
||||||
|
g_debug ("Failed to register account: failed to get d-bus interface");
|
||||||
|
show_error_dialog (self, _("Failed to register account"), NULL);
|
||||||
|
finish_action (self);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
login = um_realm_calculate_login (common, gtk_entry_get_text (self->enterprise_login));
|
login = um_realm_calculate_login (common, gtk_entry_get_text (self->enterprise_login));
|
||||||
g_return_if_fail (login != NULL);
|
g_return_if_fail (login != NULL);
|
||||||
|
|
|
@ -479,12 +479,14 @@ um_realm_is_configured (UmRealmObject *realm)
|
||||||
{
|
{
|
||||||
UmRealmCommon *common;
|
UmRealmCommon *common;
|
||||||
const gchar *configured;
|
const gchar *configured;
|
||||||
gboolean is;
|
gboolean is = FALSE;
|
||||||
|
|
||||||
common = um_realm_object_get_common (realm);
|
common = um_realm_object_get_common (realm);
|
||||||
configured = um_realm_common_get_configured (common);
|
if (common != NULL) {
|
||||||
is = configured != NULL && !g_str_equal (configured, "");
|
configured = um_realm_common_get_configured (common);
|
||||||
g_object_unref (common);
|
is = configured != NULL && !g_str_equal (configured, "");
|
||||||
|
g_object_unref (common);
|
||||||
|
}
|
||||||
|
|
||||||
return is;
|
return is;
|
||||||
}
|
}
|
||||||
|
|
|
@ -524,6 +524,9 @@ find_matching_realm (UmRealmManager *realm_manager, const gchar *login)
|
||||||
gint i;
|
gint i;
|
||||||
|
|
||||||
common = um_realm_object_get_common (l->data);
|
common = um_realm_object_get_common (l->data);
|
||||||
|
if (common == NULL)
|
||||||
|
continue;
|
||||||
|
|
||||||
permitted_logins = um_realm_common_get_permitted_logins (common);
|
permitted_logins = um_realm_common_get_permitted_logins (common);
|
||||||
for (i = 0; permitted_logins[i] != NULL; i++) {
|
for (i = 0; permitted_logins[i] != NULL; i++) {
|
||||||
if (g_strcmp0 (permitted_logins[i], login) == 0)
|
if (g_strcmp0 (permitted_logins[i], login) == 0)
|
||||||
|
|
Loading…
Add table
Reference in a new issue