[gtk+] treestore: Fix segfault when reordering non-existing children



commit 0d2d1904b1c116afd74042738898ee624c00d853
Author: Olivier Brunel <jjk jjacky com>
Date:   Tue Oct 15 15:07:28 2013 +0200

    treestore: Fix segfault when reordering non-existing children
    
    Calling gtk_tree_store_reorder() on a node without children would cause a
    segfault; Fixes https://bugzilla.gnome.org/show_bug.cgi?id=698396
    
    Signed-off-by: Olivier Brunel <jjk jjacky com>

 gtk/gtktreestore.c |    6 ++++++
 1 files changed, 6 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c
index a6e47af..ba9c6b3 100644
--- a/gtk/gtktreestore.c
+++ b/gtk/gtktreestore.c
@@ -2280,6 +2280,12 @@ gtk_tree_store_reorder (GtkTreeStore *tree_store,
   else
     level = G_NODE (parent->user_data)->children;
 
+  if (G_UNLIKELY (!level))
+    {
+      g_warning ("%s: Cannot reorder, parent has no children", G_STRLOC);
+      return;
+    }
+
   /* count nodes */
   node = level;
   while (node)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]