Updating branch refs/heads/master to 3704cf3502bc8cafb4e7cd7956c0ae983a415b3e (commit) from 52802adb3361e9d3202d4a921b8b440660878ee1 (commit)
commit 3704cf3502bc8cafb4e7cd7956c0ae983a415b3e Author: Jannis Pohlmann <jan...@xfce.org> Date: Sat Feb 25 15:09:30 2012 +0000 Avoid accessing list elements after they have been freed (bug #7418). NEWS | 1 + tumblerd/tumbler-manager.c | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletions(-) diff --git a/NEWS b/NEWS index bcb3e8e..18426ce 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ - Call dbus_g_thread_init() to fix threading issues (bug #7544). - Add application/vnd.rn-realmedia to the ffmpeg plugin (bug #6949). - Explicitly link against gmodule (bug #8466). +- Avoid accessing list elements after they have been freed (bug #7418). 0.1.23 ====== diff --git a/tumblerd/tumbler-manager.c b/tumblerd/tumbler-manager.c index cb8af5c..e8bf162 100644 --- a/tumblerd/tumbler-manager.c +++ b/tumblerd/tumbler-manager.c @@ -1433,6 +1433,7 @@ tumbler_manager_directory_deleted (TumblerManager *manager, GList *delete_keys = NULL; GList **list; GList *lp; + GList *next; gchar **hash_keys; guint n; @@ -1454,9 +1455,10 @@ tumbler_manager_directory_deleted (TumblerManager *manager, g_assert (*list != NULL); /* iterate over all thumbnailers in the current list */ - for (lp = *list; lp != NULL; lp = lp->next) + for (lp = *list; lp != NULL; ) { info = lp->data; + next = lp->next; /* check if the thumbnailer info comes from the deleted directory */ if (info->dir_index == dir_index) @@ -1508,6 +1510,9 @@ tumbler_manager_directory_deleted (TumblerManager *manager, /* destroy the thumbnailer info */ thumbnailer_info_free (info); } + + /* advance to the next entry in the list */ + lp = next; } if (*list == NULL) _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org https://mail.xfce.org/mailman/listinfo/xfce4-commits