mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-03-28 02:20:04 +01:00
garray: initialize allocated size in g_byte_array_new_take()
Internal allocation size (array->alloc) was being kept to 0 when a new GByteArray was created from an already existing heap-allocated buffer. Among other things, this was making g_byte_array_set_size() fully clear all the buffer contents (not just the newly allocated memory) when G_DEBUG=gc-friendly was being used... if (G_UNLIKELY (g_mem_gc_friendly)) memset (array->data + array->alloc, 0, want_alloc - array->alloc); https://bugzilla.gnome.org/show_bug.cgi?id=738170
This commit is contained in:
parent
de82b641b0
commit
549e7b0de6
@ -1589,6 +1589,7 @@ g_byte_array_new_take (guint8 *data,
|
||||
|
||||
real->data = data;
|
||||
real->len = len;
|
||||
real->alloc = len;
|
||||
|
||||
return array;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user