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
This commit is contained in:
parent
bd4acfe467
commit
2bf2b07c13
@ -1,3 +1,10 @@
|
|||||||
|
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,
|
|||||||
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,
|
g_set_error (error, data->error_quark, 0,
|
||||||
"Too many columns, maximum is %d\n", data->n_columns - 1);
|
"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,
|
|||||||
errno = 0;
|
errno = 0;
|
||||||
id = atoi (values[i]);
|
id = atoi (values[i]);
|
||||||
if (errno)
|
if (errno)
|
||||||
|
{
|
||||||
g_set_error (error, data->error_quark, 0,
|
g_set_error (error, data->error_quark, 0,
|
||||||
"the id tag %s could not be converted to an integer",
|
"the id tag %s could not be converted to an integer",
|
||||||
values[i]);
|
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,
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (id == -1)
|
if (id == -1)
|
||||||
|
{
|
||||||
g_set_error (error, data->error_quark, 0,
|
g_set_error (error, data->error_quark, 0,
|
||||||
"<col> needs an id attribute");
|
"<col> needs an id attribute");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
info = g_slice_new0 (ColInfo);
|
info = g_slice_new0 (ColInfo);
|
||||||
info->translatable = translatable;
|
info->translatable = translatable;
|
||||||
|
Loading…
Reference in New Issue
Block a user