File zenity-Fix-segfault-on-multiple-lists.patch of Package zenity

From cd636315a5ff60567ff6a49ea10f326b69337029 Mon Sep 17 00:00:00 2001
From: quartenium <quartenium@gmail.com>
Date: Mon, 11 Sep 2017 17:59:11 +0300
Subject: [PATCH] src/forms.c: Fix segfault on multiple lists without values

If was not provided enought list-values for add-list options
then column_types is NULL. Therefore need set it to default
value.
If count of columns values less than count of list values
then set column nubmer to zero.
---
 src/forms.c | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/src/forms.c b/src/forms.c
index 4e6fca5..15df718 100644
--- a/src/forms.c
+++ b/src/forms.c
@@ -110,8 +110,15 @@ zenity_forms_create_and_fill_list (
 	tree_view = gtk_tree_view_new ();
 
 	if (forms_data->column_values) {
+		int columns_values_count =
+			g_slist_length (forms_data->column_values);
+		int column_number = 0;
+		if (list_number < columns_values_count) {
+			column_number = list_number;
+		}
+
 		column_values =
-			g_slist_nth_data (forms_data->column_values, list_number);
+			g_slist_nth_data (forms_data->column_values, column_number);
 		if (column_values) {
 			gchar **values = g_strsplit_set (column_values, "|", -1);
 			if (values) {
@@ -130,6 +137,10 @@ zenity_forms_create_and_fill_list (
 					column_index++;
 				}
 			}
+		} else {
+			/* If no values available, add one with string type*/
+			column_types = g_new (GType, n_columns);
+			column_types[0] = G_TYPE_STRING;
 		}
 	}
 
-- 
2.22.0

openSUSE Build Service is sponsored by