phonebook_create_cache() failed because checking the return value e_book_async_get_contacts() was wrong. This would lead to a core dump as the data was freed but was still used in the callbacks. --- plugins/phonebook-ebook.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/plugins/phonebook-ebook.c b/plugins/phonebook-ebook.c index 3c24107..1598d5f 100644 --- a/plugins/phonebook-ebook.c +++ b/plugins/phonebook-ebook.c @@ -459,7 +459,7 @@ int phonebook_create_cache(const char *name, phonebook_entry_cb entry_cb, ret = e_book_async_get_contacts(ebook, query, cache_cb, data); e_book_query_unref(query); - if (ret == FALSE) { + if (ret != FALSE) { g_free(data); return -EFAULT; } -- 1.7.2 -- To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html