File bgo-555230-vcf-parse.patch of Package evolution-data-server
commit 290dec61a32d5db585871e55b53064b3e6279a66
Author: mcrha <mcrha@d0434b6f-c725-0410-8785-fd8a057797ef>
Date: Mon Dec 15 12:10:19 2008 +0000
2008-12-15 Milan Crha <mcrha@redhat.com>
** Fix for bug #555230
* e-contact-store.c: (find_contact_by_view_and_uid):
Do not crash when passed invalid arguments in.
git-svn-id: svn+ssh://svn.gnome.org/svn/evolution-data-server/trunk@9835 d0434b6f-c725-0410-8785-fd8a057797ef
diff --git a/libedataserverui/e-contact-store.c b/libedataserverui/e-contact-store.c
index 586263f..b251451 100644
--- a/libedataserverui/e-contact-store.c
+++ b/libedataserverui/e-contact-store.c
@@ -372,6 +372,8 @@ find_contact_by_view_and_uid (EContactStore *contact_store, EBookView *find_view
GPtrArray *contacts;
gint i;
+ g_return_val_if_fail (find_uid != NULL, -1);
+
source_index = find_contact_source_by_view (contact_store, find_view);
if (source_index < 0)
return -1;
@@ -387,7 +389,7 @@ find_contact_by_view_and_uid (EContactStore *contact_store, EBookView *find_view
EContact *contact = g_ptr_array_index (contacts, i);
const gchar *uid = e_contact_get_const (contact, E_CONTACT_UID);
- if (!strcmp (find_uid, uid))
+ if (uid && !strcmp (find_uid, uid))
return i;
}