mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-10-28 23:12:17 +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:
		| @@ -1589,6 +1589,7 @@ g_byte_array_new_take (guint8 *data, | ||||
|  | ||||
|   real->data = data; | ||||
|   real->len = len; | ||||
|   real->alloc = len; | ||||
|  | ||||
|   return array; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user