Memory used for reference counted data might be misaligned.
Memory returned fromg_rc_box_alloc (block_size)
might not be suitably aligned
to store some types of objects. The implementation of g_rc_box_alloc
is
essentially:
gsize private_size = sizeof(GArcBox);
char *allocated = g_malloc (private_size + block_size);
return allocated + private_size;
While allocated
will be properly aligned, given current definition of
GArcBox
there is no such guarantee about allocated + private_size
.