From 97cc462bb3d8d2094a989723fb02cfd54901b207 Mon Sep 17 00:00:00 2001 From: Ettore Perazzoli Date: Thu, 26 Sep 2002 19:22:33 +0000 Subject: (folder_list_from_vector): Do some sanity checking so we don't crash miserably as in #28481. svn path=/trunk/; revision=18238 --- my-evolution/ChangeLog | 5 +++++ 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,3 +1,8 @@ +2002-09-26 Ettore Perazzoli + + * 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 * e-summary-preferences.c: Take out CNN and DebianPlanet, which do 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); } -- cgit v1.2.3