diff options
-rw-r--r-- | my-evolution/ChangeLog | 5 | ||||
-rw-r--r-- | my-evolution/e-summary-preferences.c | 15 |
2 files changed, 17 insertions, 3 deletions
diff --git a/my-evolution/ChangeLog b/my-evolution/ChangeLog index f360806cdf..08f7581223 100644 --- a/my-evolution/ChangeLog +++ b/my-evolution/ChangeLog @@ -1,5 +1,10 @@ 2002-09-26 Ettore Perazzoli <ettore@ximian.com> + * e-summary-preferences.c (folder_list_from_vector): Do some + sanity checking so we don't crash miserably as in #28481. + +2002-09-26 Ettore Perazzoli <ettore@ximian.com> + * e-summary-preferences.c: Take out CNN and DebianPlanet, which do not seem to work for me. diff --git a/my-evolution/e-summary-preferences.c b/my-evolution/e-summary-preferences.c index 5201dae83d..b86792bd06 100644 --- a/my-evolution/e-summary-preferences.c +++ b/my-evolution/e-summary-preferences.c @@ -181,11 +181,20 @@ folder_list_from_vector (const char *vector) for (tokens = t; *tokens; tokens += 2) { ESummaryPrefsFolder *folder; + const char *evolution_uri; + const char *physical_uri; + + evolution_uri = *tokens; + if (evolution_uri == NULL || strncmp (evolution_uri, "evolution:", 10) != 0) + break; + + physical_uri = *(tokens + 1); + if (physical_uri == NULL) + break; folder = g_new (ESummaryPrefsFolder, 1); - g_print ("%s - %s\n", *tokens, *(tokens + 1)); - folder->evolution_uri = g_strdup (*tokens); - folder->physical_uri = g_strdup (*(tokens + 1)); + folder->evolution_uri = g_strdup (evolution_uri); + folder->physical_uri = g_strdup (physical_uri); flist = g_list_prepend (flist, folder); } |