]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktreemodelsort.c
Check that index is not bigger than level array length also when depth is
[~andy/gtk] / gtk / gtktreemodelsort.c
index eacb3d5c0ae295735d389c035381e63910214f47..ab393219c3da8ead0cca16b6cfd8e5d175d1f2ce 100644 (file)
@@ -970,8 +970,12 @@ gtk_tree_model_sort_get_iter (GtkTreeModel *tree_model,
       level = g_array_index (level->array, SortElt, indices[i]).children;
     }
 
-  if (level == NULL)
-    return FALSE;
+  if (!level || indices[i] >= level->array->len)
+    {
+      iter->stamp = 0;
+      return FALSE;
+    }
+
   iter->stamp = tree_model_sort->stamp;
   iter->user_data = level;
   iter->user_data2 = &g_array_index (level->array, SortElt, indices[depth - 1]);