source-dialog: protect against NULL user address
e_webdav_discover_sources_finish can discover no user addresses and return a NULL user_addresses. Check for that before calling e_source_webdav_set_email_address. https://bugzilla.gnome.org/show_bug.cgi?id=765170
This commit is contained in:
committed by
Georges Basile Stavracas Neto
parent
23bb24edf5
commit
c941326230
@@ -1463,7 +1463,7 @@ discover_sources_cb (GObject *source,
|
||||
{
|
||||
GcalSourceDialog *self;
|
||||
EWebDAVDiscoveredSource *src;
|
||||
GSList *discovered_sources, *user_adresses, *aux;
|
||||
GSList *discovered_sources, *user_addresses, *aux;
|
||||
GError *error;
|
||||
|
||||
self = GCAL_SOURCE_DIALOG (user_data);
|
||||
@@ -1477,7 +1477,7 @@ discover_sources_cb (GObject *source,
|
||||
self->calendar_address_id = 0;
|
||||
}
|
||||
|
||||
if (!e_webdav_discover_sources_finish (E_SOURCE (source), result, NULL, NULL, &discovered_sources, &user_adresses,
|
||||
if (!e_webdav_discover_sources_finish (E_SOURCE (source), result, NULL, NULL, &discovered_sources, &user_addresses,
|
||||
&error))
|
||||
{
|
||||
// Don't add an source with errors
|
||||
@@ -1542,7 +1542,9 @@ discover_sources_cb (GObject *source,
|
||||
webdav = e_source_get_extension (new_source, E_SOURCE_EXTENSION_WEBDAV_BACKEND);
|
||||
e_source_webdav_set_resource_path (webdav, resource_path);
|
||||
e_source_webdav_set_display_name (webdav, src->display_name);
|
||||
e_source_webdav_set_email_address (webdav, user_adresses->data);
|
||||
|
||||
if (user_addresses)
|
||||
e_source_webdav_set_email_address (webdav, user_addresses->data);
|
||||
|
||||
/* create the new row */
|
||||
row = gtk_list_box_row_new ();
|
||||
@@ -1568,7 +1570,7 @@ discover_sources_cb (GObject *source,
|
||||
|
||||
// Free things up
|
||||
e_webdav_discover_free_discovered_sources (discovered_sources);
|
||||
g_slist_free_full (user_adresses, g_free);
|
||||
g_slist_free_full (user_addresses, g_free);
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user