summaryrefslogtreecommitdiff
path: root/gtk/gtktreestore.c
diff options
context:
space:
mode:
authorOlivier Brunel <jjk@jjacky.com>2013-10-15 15:07:28 +0200
committerMatthias Clasen <mclasen@redhat.com>2014-05-13 11:56:28 -0400
commit0d2d1904b1c116afd74042738898ee624c00d853 (patch)
tree5eb871e9e526e073b92adcd99cdadda266128f7a /gtk/gtktreestore.c
parent75c22332d0aa3630285987469a4692229fec365f (diff)
downloadgtk+-0d2d1904b1c116afd74042738898ee624c00d853.tar.gz
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>
Diffstat (limited to 'gtk/gtktreestore.c')
-rw-r--r--gtk/gtktreestore.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/gtk/gtktreestore.c b/gtk/gtktreestore.c
index a6e47af398..ba9c6b3c49 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)