diff options
| author | Akhil Laddha <lakhil@novell.com> | 2007-10-29 02:15:59 +0000 |
|---|---|---|
| committer | Srinivasa Ragavan <sragavan@src.gnome.org> | 2007-10-29 02:15:59 +0000 |
| commit | da92c03bab2b6c77b421e73cc226d5515cf2dd8d (patch) | |
| tree | 2598ca2c9a68402ad317655caa97d4ea032085cc | |
| parent | ac51691d356be2a6c7eaa427e34fac581924fffe (diff) | |
| download | evolution-data-server-da92c03bab2b6c77b421e73cc226d5515cf2dd8d.tar.gz | |
** Fix for bug #486873
2007-10-22 Akhil Laddha <lakhil@novell.com>
** Fix for bug #486873
* backends/file/e-book-backend-file.c: (book_view_thread):
* libedata-book/e-data-book-view.c:
(e_data_book_view_notify_update_vcard),
(e_data_book_view_notify_update_prefiltered_vcard): Avoid a double free and
make sure that the view_ functions free at all cases.
svn path=/branches/gnome-2-20/; revision=8158
| -rw-r--r-- | addressbook/ChangeLog | 10 | ||||
| -rw-r--r-- | addressbook/backends/file/e-book-backend-file.c | 1 | ||||
| -rw-r--r-- | addressbook/libedata-book/e-data-book-view.c | 5 |
3 files changed, 12 insertions, 4 deletions
diff --git a/addressbook/ChangeLog b/addressbook/ChangeLog index 2c75808f0..5cd0e3db9 100644 --- a/addressbook/ChangeLog +++ b/addressbook/ChangeLog @@ -1,3 +1,13 @@ +2007-10-22 Akhil Laddha <lakhil@novell.com> + + ** Fix for bug #486873 + + * backends/file/e-book-backend-file.c: (book_view_thread): + * libedata-book/e-data-book-view.c: + (e_data_book_view_notify_update_vcard), + (e_data_book_view_notify_update_prefiltered_vcard): Avoid a double free and + make sure that the view_ functions free at all cases. + 2007-10-19 Matthew Barnes <mbarnes@redhat.com> ** Fixes bug #488351 diff --git a/addressbook/backends/file/e-book-backend-file.c b/addressbook/backends/file/e-book-backend-file.c index cf079821f..46b506e1b 100644 --- a/addressbook/backends/file/e-book-backend-file.c +++ b/addressbook/backends/file/e-book-backend-file.c @@ -612,7 +612,6 @@ book_view_thread (gpointer data) e_data_book_view_notify_update_prefiltered_vcard (book_view, id_dbt.data, vcard_dbt.data); else e_data_book_view_notify_update_vcard (book_view, vcard_dbt.data); - g_free (vcard_dbt.data); } else { g_free (vcard_dbt.data); } diff --git a/addressbook/libedata-book/e-data-book-view.c b/addressbook/libedata-book/e-data-book-view.c index c9eeb6c5b..90f78f577 100644 --- a/addressbook/libedata-book/e-data-book-view.c +++ b/addressbook/libedata-book/e-data-book-view.c @@ -320,11 +320,9 @@ e_data_book_view_notify_update_vcard (EDataBookView *book_view, char *vcard) } else { if (currently_in_view) notify_remove (book_view, id); - else - /* else nothing; we're removing a card that wasn't there */ - free (vcard); } + g_free (vcard); g_object_unref (contact); g_mutex_unlock (book_view->priv->pending_mutex); } @@ -364,6 +362,7 @@ e_data_book_view_notify_update_prefiltered_vcard (EDataBookView *book_view, cons else notify_add (book_view, id, vcard); + g_free (vcard); g_mutex_unlock (book_view->priv->pending_mutex); } |
