mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-08 18:36:17 +01:00
Merge branch 'wip/chergert/garray-bail' into 'master'
garray: add overflow checks before expanding array See merge request GNOME/glib!195
This commit is contained in:
commit
3cafd7f266
@ -803,8 +803,14 @@ static void
|
||||
g_array_maybe_expand (GRealArray *array,
|
||||
guint len)
|
||||
{
|
||||
guint want_alloc = g_array_elt_len (array, array->len + len +
|
||||
array->zero_terminated);
|
||||
guint want_alloc;
|
||||
|
||||
/* Detect potential overflow */
|
||||
if G_UNLIKELY ((G_MAXUINT - array->len) < len)
|
||||
g_error ("adding %u to array would overflow", len);
|
||||
|
||||
want_alloc = g_array_elt_len (array, array->len + len +
|
||||
array->zero_terminated);
|
||||
|
||||
if (want_alloc > array->alloc)
|
||||
{
|
||||
@ -1162,6 +1168,10 @@ static void
|
||||
g_ptr_array_maybe_expand (GRealPtrArray *array,
|
||||
gint len)
|
||||
{
|
||||
/* Detect potential overflow */
|
||||
if G_UNLIKELY ((G_MAXUINT - array->len) < len)
|
||||
g_error ("adding %u to array would overflow", len);
|
||||
|
||||
if ((array->len + len) > array->alloc)
|
||||
{
|
||||
guint old_alloc = array->alloc;
|
||||
|
Loading…
Reference in New Issue
Block a user