[zenity] src/forms.c: Fix segfault on multiple lists without values
- From: Arx Henrique Pereira da Cruz <arxcruz src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [zenity] src/forms.c: Fix segfault on multiple lists without values
- Date: Sun, 14 Apr 2019 18:16:11 +0000 (UTC)
commit cd636315a5ff60567ff6a49ea10f326b69337029
Author: quartenium <quartenium gmail com>
Date: Mon Sep 11 17:59:11 2017 +0300
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;
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]