gtype: Use g_malloc0 and g_free_sized to allocate and free memory

We've a sized free now, so we can just use it!
This commit is contained in:
Marco Trevisan (Treviño) 2023-02-03 11:35:10 +01:00
parent ce1cba0884
commit 69e9ba80e2

View File

@ -1954,7 +1954,7 @@ g_type_create_instance (GType type)
private_size += ALIGN_STRUCT (1); private_size += ALIGN_STRUCT (1);
/* Allocate one extra pointer size... */ /* Allocate one extra pointer size... */
allocated = g_slice_alloc0 (private_size + ivar_size + sizeof (gpointer)); allocated = g_malloc0 (private_size + ivar_size + sizeof (gpointer));
/* ... and point it back to the start of the private data. */ /* ... and point it back to the start of the private data. */
*(gpointer *) (allocated + private_size + ivar_size) = allocated + ALIGN_STRUCT (1); *(gpointer *) (allocated + private_size + ivar_size) = allocated + ALIGN_STRUCT (1);
@ -1964,7 +1964,7 @@ g_type_create_instance (GType type)
} }
else else
#endif #endif
allocated = g_slice_alloc0 (private_size + ivar_size); allocated = g_malloc0 (private_size + ivar_size);
instance = (GTypeInstance *) (allocated + private_size); instance = (GTypeInstance *) (allocated + private_size);
@ -2054,14 +2054,14 @@ g_type_free_instance (GTypeInstance *instance)
/* Clear out the extra pointer... */ /* Clear out the extra pointer... */
*(gpointer *) (allocated + private_size + ivar_size) = NULL; *(gpointer *) (allocated + private_size + ivar_size) = NULL;
/* ... and ensure we include it in the size we free. */ /* ... and ensure we include it in the size we free. */
g_slice_free1 (private_size + ivar_size + sizeof (gpointer), allocated); g_free_sized (allocated, private_size + ivar_size + sizeof (gpointer));
VALGRIND_FREELIKE_BLOCK (allocated + ALIGN_STRUCT (1), 0); VALGRIND_FREELIKE_BLOCK (allocated + ALIGN_STRUCT (1), 0);
VALGRIND_FREELIKE_BLOCK (instance, 0); VALGRIND_FREELIKE_BLOCK (instance, 0);
} }
else else
#endif #endif
g_slice_free1 (private_size + ivar_size, allocated); g_free_sized (allocated, private_size + ivar_size);
#ifdef G_ENABLE_DEBUG #ifdef G_ENABLE_DEBUG
IF_DEBUG (INSTANCE_COUNT) IF_DEBUG (INSTANCE_COUNT)