diff --git a/evolution-ews-3.24.6-crash-under-ews-backend-sync-created-folders.patch b/evolution-ews-3.24.6-crash-under-ews-backend-sync-created-folders.patch new file mode 100644 index 0000000..0665c0b --- /dev/null +++ b/evolution-ews-3.24.6-crash-under-ews-backend-sync-created-folders.patch @@ -0,0 +1,54 @@ +diff -up evolution-ews-3.24.6/src/collection/e-ews-backend.c.crash-under-ews-backend-sync-created-folders evolution-ews-3.24.6/src/collection/e-ews-backend.c +--- evolution-ews-3.24.6/src/collection/e-ews-backend.c.crash-under-ews-backend-sync-created-folders 2017-10-02 15:48:35.000000000 +0200 ++++ evolution-ews-3.24.6/src/collection/e-ews-backend.c 2017-10-26 10:05:20.709203125 +0200 +@@ -213,6 +213,8 @@ ews_backend_new_child (EEwsBackend *back + + fid = e_ews_folder_get_id (folder); + ++ g_return_val_if_fail (fid != NULL, NULL); ++ + collection_backend = E_COLLECTION_BACKEND (backend); + source = e_collection_backend_new_child (collection_backend, fid->id); + +@@ -331,7 +333,7 @@ ews_backend_sync_created_folders (EEwsBa + + /* If we already know about this folder, skip it. */ + fid = e_ews_folder_get_id (folder); +- if (fid->id == NULL) ++ if (!fid || !fid->id) + continue; /* not a valid ID anyway */ + if (ews_backend_folders_contains (backend, fid->id)) + continue; +diff -up evolution-ews-3.24.6/src/server/e-ews-connection.c.crash-under-ews-backend-sync-created-folders evolution-ews-3.24.6/src/server/e-ews-connection.c +--- evolution-ews-3.24.6/src/server/e-ews-connection.c.crash-under-ews-backend-sync-created-folders 2017-10-02 15:48:35.000000000 +0200 ++++ evolution-ews-3.24.6/src/server/e-ews-connection.c 2017-10-26 10:05:20.710203125 +0200 +@@ -989,7 +989,8 @@ sync_xxx_response_cb (ESoapParameter *su + EEwsFolder *folder; + + folder = parser (subparam1); +- items_created = g_slist_append (items_created, folder); ++ if (folder) ++ items_created = g_slist_append (items_created, folder); + } + + for (subparam1 = e_soap_parameter_get_first_child_by_name (node, "Update"); +@@ -998,7 +999,8 @@ sync_xxx_response_cb (ESoapParameter *su + EEwsFolder *folder; + + folder = parser (subparam1); +- items_updated = g_slist_append (items_updated, folder); ++ if (folder) ++ items_updated = g_slist_append (items_updated, folder); + } + /* Exchange 2007SP1 introduced which is basically identical + * to ; no idea why they thought it was a good idea. */ +@@ -1008,7 +1010,8 @@ sync_xxx_response_cb (ESoapParameter *su + EEwsFolder *folder; + + folder = parser (subparam1); +- items_updated = g_slist_append (items_updated, folder); ++ if (folder) ++ items_updated = g_slist_append (items_updated, folder); + } + + for (subparam1 = e_soap_parameter_get_first_child_by_name (node, "Delete"); diff --git a/evolution-ews.spec b/evolution-ews.spec index f8c1efd..84c04c1 100644 --- a/evolution-ews.spec +++ b/evolution-ews.spec @@ -2,14 +2,14 @@ Name: evolution-ews Version: 3.24.6 -Release: 1%{?dist} +Release: 2%{?dist} Group: Applications/Productivity Summary: Evolution extension for Exchange Web Services License: LGPLv2 URL: https://wiki.gnome.org/Apps/Evolution Source: http://download.gnome.org/sources/%{name}/3.24/%{name}-%{version}.tar.xz -#Patch01: evolution-ews-3.5.90-xmlbuffer.patch +Patch01: evolution-ews-3.24.6-crash-under-ews-backend-sync-created-folders.patch Requires: evolution >= %{version} Requires: evolution-data-server >= 3.24.7 @@ -40,7 +40,7 @@ versions 2007 and later, through its Exchange Web Services (EWS) interface. %prep %setup -q -#%patch01 -p1 -b .xmlbuffer +%patch01 -p1 -b .crash-under-ews-backend-sync-created-folders %build @@ -78,6 +78,9 @@ make install DESTDIR=$RPM_BUILD_ROOT %{_datadir}/evolution-data-server/ews/windowsZones.xml %changelog +* Thu Oct 26 2017 Milan Crha - 3.24.6-2 +- Add patch for FAF report https://retrace.fedoraproject.org/faf/reports/1823602/ + * Mon Oct 02 2017 Milan Crha - 3.24.6-1 - Update to 3.24.6