diff options
author | Olivier Brunel <jjk@jjacky.com> | 2013-10-15 15:07:28 +0200 |
---|---|---|
committer | Matthias Clasen <mclasen@redhat.com> | 2014-05-13 11:56:28 -0400 |
commit | 0d2d1904b1c116afd74042738898ee624c00d853 (patch) | |
tree | 5eb871e9e526e073b92adcd99cdadda266128f7a /gtk/gtktreestore.c | |
parent | 75c22332d0aa3630285987469a4692229fec365f (diff) | |
download | gtk+-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.c | 6 |
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) |