Commit 2bf2b07c authored by Matthias Clasen's avatar Matthias Clasen Committed by Matthias Clasen

Bug 534694 – Col id in GtkListStore could be out of range

2008-05-25  Matthias Clasen  <mclasen@redhat.com>

        Bug 534694 – Col id in GtkListStore could be out of range

        * gtk/gtkliststore.c (list_store_start_element): Fix up error handling
        a bit. Pointed out by Jan Arne Petersen.

svn path=/trunk/; revision=20157
parent bd4acfe4
2008-05-25 Matthias Clasen <mclasen@redhat.com>
Bug 534694 – Col id in GtkListStore could be out of range
* gtk/gtkliststore.c (list_store_start_element): Fix up error handling
a bit. Pointed out by Jan Arne Petersen.
2008-05-25 Matthias Clasen <mclasen@redhat.com> 2008-05-25 Matthias Clasen <mclasen@redhat.com>
Bug 532497 – Configure problem when cross-compiling Bug 532497 – Configure problem when cross-compiling
......
...@@ -2084,8 +2084,11 @@ list_store_start_element (GMarkupParseContext *context, ...@@ -2084,8 +2084,11 @@ list_store_start_element (GMarkupParseContext *context,
ColInfo *info; ColInfo *info;
if (data->row_column >= data->n_columns) if (data->row_column >= data->n_columns)
g_set_error (error, data->error_quark, 0, {
"Too many columns, maximum is %d\n", data->n_columns - 1); g_set_error (error, data->error_quark, 0,
"Too many columns, maximum is %d\n", data->n_columns - 1);
return;
}
for (i = 0; names[i]; i++) for (i = 0; names[i]; i++)
if (strcmp (names[i], "id") == 0) if (strcmp (names[i], "id") == 0)
...@@ -2093,9 +2096,18 @@ list_store_start_element (GMarkupParseContext *context, ...@@ -2093,9 +2096,18 @@ list_store_start_element (GMarkupParseContext *context,
errno = 0; errno = 0;
id = atoi (values[i]); id = atoi (values[i]);
if (errno) if (errno)
g_set_error (error, data->error_quark, 0, {
"the id tag %s could not be converted to an integer", g_set_error (error, data->error_quark, 0,
values[i]); "the id tag %s could not be converted to an integer",
values[i]);
return;
}
if (id < 0 || id >= data->n_columns)
{
g_set_error (error, data->error_quark, 0,
"id value %d out of range", id);
return;
}
} }
else if (strcmp (names[i], "translatable") == 0) else if (strcmp (names[i], "translatable") == 0)
{ {
...@@ -2113,8 +2125,11 @@ list_store_start_element (GMarkupParseContext *context, ...@@ -2113,8 +2125,11 @@ list_store_start_element (GMarkupParseContext *context,
} }
if (id == -1) if (id == -1)
g_set_error (error, data->error_quark, 0, {
"<col> needs an id attribute"); g_set_error (error, data->error_quark, 0,
"<col> needs an id attribute");
return;
}
info = g_slice_new0 (ColInfo); info = g_slice_new0 (ColInfo);
info->translatable = translatable; info->translatable = translatable;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment