Updating branch refs/heads/master
to 3704cf3502bc8cafb4e7cd7956c0ae983a415b3e (commit)
from 52802adb3361e9d3202d4a921b8b440660878ee1 (commit)
commit 3704cf3502bc8cafb4e7cd7956c0ae983a415b3e
Author: Jannis Pohlmann <[email protected]>
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
[email protected]
https://mail.xfce.org/mailman/listinfo/xfce4-commits