[gnome-calendar/gnome-3-20] source-dialog: protect against NULL user address



commit 29aec5ef0b5e571467abaa863cb8fe1e04cbc72f
Author: Thadeu Lima de Souza Cascardo <cascardo cascardo eti br>
Date:   Sat Apr 2 11:37:51 2016 -0300

    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

 src/gcal-source-dialog.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
---
diff --git a/src/gcal-source-dialog.c b/src/gcal-source-dialog.c
index ea61d79..91f08c6 100644
--- a/src/gcal-source-dialog.c
+++ b/src/gcal-source-dialog.c
@@ -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);
 }
 
 /**


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]