diff options
author | Niels De Graef <nielsdegraef@gmail.com> | 2023-01-16 13:57:36 +0100 |
---|---|---|
committer | Niels De Graef <ndegraef@redhat.com> | 2023-01-16 15:33:25 +0100 |
commit | 2709cd4c985c507f29b73b82adc55b91d4c5eca0 (patch) | |
tree | 00d4b57528f4d18fe70b47bcdb9584757a2c1a6b | |
parent | f5c46c8e18aa37898e1da25559937ad375b00fc3 (diff) | |
download | gcr-2709cd4c985c507f29b73b82adc55b91d4c5eca0.tar.gz |
Stop using GSlice
GLib is discussing deprecating/removing it upstream [1] since it has
only limited uses. Next to that, it seems to bork stack traces here when
using ASAN (for which you also have to specify `G_SLICE=always-malloc`
too).
In other words, let's just get rid of using `GSLice` and call the
allocation APIs directly.
[1]: https://gitlab.gnome.org/GNOME/glib/-/issues/1079
-rw-r--r-- | egg/egg-asn1x.c | 20 | ||||
-rw-r--r-- | gck/gck-attributes.c | 26 | ||||
-rw-r--r-- | gck/gck-enumerator.c | 4 | ||||
-rw-r--r-- | gcr/gcr-certificate-chain.c | 4 | ||||
-rw-r--r-- | gcr/gcr-record.c | 8 | ||||
-rw-r--r-- | gcr/gcr-subject-public-key.c | 4 | ||||
-rw-r--r-- | gcr/gcr-system-prompter.c | 8 |
7 files changed, 37 insertions, 37 deletions
diff --git a/egg/egg-asn1x.c b/egg/egg-asn1x.c index 47f2392..30af6fd 100644 --- a/egg/egg-asn1x.c +++ b/egg/egg-asn1x.c @@ -208,7 +208,7 @@ allocator_closure_free (gpointer data) AllocatorClosure *closure = data; g_assert (closure->allocator); (closure->allocator) (closure->allocated, 0); - g_slice_free (AllocatorClosure, closure); + g_free (closure); } static GBytes * @@ -224,7 +224,7 @@ bytes_new_with_allocator (EggAllocator allocator, if (allocator) { *data = (allocator) (NULL, length + 1); g_return_val_if_fail (*data != NULL, NULL); - closure = g_slice_new (AllocatorClosure); + closure = g_new0 (AllocatorClosure, 1); closure->allocated = *data; closure->allocator = allocator; return g_bytes_new_with_free_func (*data, length, @@ -239,7 +239,7 @@ bytes_new_with_allocator (EggAllocator allocator, static GNode* anode_new (const EggAsn1xDef *def) { - Anode *an = g_slice_new0 (Anode); + Anode *an = g_new0 (Anode, 1); an->def = def; return g_node_new (an); } @@ -248,7 +248,7 @@ static gpointer anode_copy_func (gconstpointer src, gpointer unused) { const Anode *san = src; - Anode *an = g_slice_new0 (Anode); + Anode *an = g_new0 (Anode, 1); an->def = san->def; an->join = san->join; an->opts = g_list_copy (san->opts); @@ -431,7 +431,7 @@ anode_opts_lookup (GNode *node, gint type, const gchar *name) static Atlv * atlv_new (void) { - return g_slice_new0 (Atlv); + return g_new0 (Atlv, 1); } static void @@ -450,7 +450,7 @@ atlv_free (Atlv *tlv) if (tlv->value) g_bytes_unref (tlv->value); - g_slice_free (Atlv, tlv); + g_free (tlv); } static Atlv * @@ -462,7 +462,7 @@ atlv_dup (Atlv *tlv, if (!tlv) return NULL; - copy = g_slice_new0 (Atlv); + copy = g_new0 (Atlv, 1); memcpy (copy, tlv, sizeof (Atlv)); if (tlv->value != NULL) @@ -563,7 +563,7 @@ anode_free_func (GNode *node, gpointer unused) Anode *an = node->data; anode_clear (node); g_list_free (an->opts); - g_slice_free (Anode, an); + g_free (an); return FALSE; } @@ -1542,7 +1542,7 @@ atlv_sort_perform (Atlv *tlv, bytes = atlv_unparse_to_bytes (ctlv, allocator); g_return_if_fail (bytes != NULL); - pair = g_slice_new0 (SortPair); + pair = g_new0 (SortPair, 1); pair->bytes = bytes; pair->tlv = ctlv; pairs = g_list_prepend (pairs, pair); @@ -1566,7 +1566,7 @@ atlv_sort_perform (Atlv *tlv, } g_bytes_unref (pair->bytes); - g_slice_free (SortPair, pair); + g_free (pair); } g_list_free (pairs); diff --git a/gck/gck-attributes.c b/gck/gck-attributes.c index 3ba9be1..92c11a5 100644 --- a/gck/gck-attributes.c +++ b/gck/gck-attributes.c @@ -196,7 +196,7 @@ gck_builder_new (GckBuilderFlags flags) { GckBuilder *builder; GckRealBuilder *real; - builder = g_slice_new (GckBuilder); + builder = g_new0 (GckBuilder, 1); gck_builder_init_full (builder, flags); real = (GckRealBuilder *)builder; real->refs = 1; @@ -252,7 +252,7 @@ gck_builder_unref (GckBuilder *builder) if (g_atomic_int_dec_and_test (&real->refs)) { gck_builder_clear (builder); - g_slice_free (GckBuilder, builder); + g_free (builder); } } @@ -1290,7 +1290,7 @@ gck_builder_end (GckBuilder *builder) data = NULL; } - attrs = g_slice_new0 (GckAttributes); + attrs = g_new0 (GckAttributes, 1); attrs->count = length; attrs->data = data; attrs->refs = 1; @@ -1688,7 +1688,7 @@ gck_attribute_new (gulong attr_type, const guchar *value, gsize length) { - GckAttribute *attr = g_slice_new0 (GckAttribute); + GckAttribute *attr = g_new0 (GckAttribute, 1); gck_attribute_init (attr, attr_type, value, length); return attr; } @@ -1707,7 +1707,7 @@ gck_attribute_new (gulong attr_type, GckAttribute * gck_attribute_new_invalid (gulong attr_type) { - GckAttribute *attr = g_slice_new0 (GckAttribute); + GckAttribute *attr = g_new0 (GckAttribute, 1); gck_attribute_init_invalid (attr, attr_type); return attr; } @@ -1724,7 +1724,7 @@ gck_attribute_new_invalid (gulong attr_type) GckAttribute * gck_attribute_new_empty (gulong attr_type) { - GckAttribute *attr = g_slice_new0 (GckAttribute); + GckAttribute *attr = g_new0 (GckAttribute, 1); gck_attribute_init_empty (attr, attr_type); return attr; } @@ -1744,7 +1744,7 @@ GckAttribute * gck_attribute_new_boolean (gulong attr_type, gboolean value) { - GckAttribute *attr = g_slice_new0 (GckAttribute); + GckAttribute *attr = g_new0 (GckAttribute, 1); gck_attribute_init_boolean (attr, attr_type, value); return attr; } @@ -1764,7 +1764,7 @@ GckAttribute * gck_attribute_new_date (gulong attr_type, const GDate *value) { - GckAttribute *attr = g_slice_new0 (GckAttribute); + GckAttribute *attr = g_new0 (GckAttribute, 1); gck_attribute_init_date (attr, attr_type, value); return attr; } @@ -1784,7 +1784,7 @@ GckAttribute * gck_attribute_new_ulong (gulong attr_type, gulong value) { - GckAttribute *attr = g_slice_new0 (GckAttribute); + GckAttribute *attr = g_new0 (GckAttribute, 1); gck_attribute_init_ulong (attr, attr_type, value); return attr; } @@ -1806,7 +1806,7 @@ GckAttribute * gck_attribute_new_string (gulong attr_type, const gchar *value) { - GckAttribute *attr = g_slice_new0 (GckAttribute); + GckAttribute *attr = g_new0 (GckAttribute, 1); gck_attribute_init_string (attr, attr_type, value); return attr; } @@ -1832,7 +1832,7 @@ gck_attribute_dup (const GckAttribute *attr) if (!attr) return NULL; - copy = g_slice_new0 (GckAttribute); + copy = g_new0 (GckAttribute, 1); gck_attribute_init_copy (copy, attr); return copy; } @@ -1904,7 +1904,7 @@ gck_attribute_free (gpointer attr) GckAttribute *a = attr; if (attr) { gck_attribute_clear (a); - g_slice_free (GckAttribute, a); + g_free (a); } } @@ -2210,7 +2210,7 @@ gck_attributes_unref (gpointer attrs) value_unref (attr->value); } g_free (attrs_->data); - g_slice_free (GckAttributes, attrs_); + g_free (attrs_); } } diff --git a/gck/gck-enumerator.c b/gck/gck-enumerator.c index 7a72663..b861fb6 100644 --- a/gck/gck-enumerator.c +++ b/gck/gck-enumerator.c @@ -137,7 +137,7 @@ _gck_enumerator_result_free (gpointer data) g_object_unref (result->session); if (result->attrs) gck_attributes_unref (result->attrs); - g_slice_free (GckEnumeratorResult, result); + g_free (result); } static gpointer @@ -437,7 +437,7 @@ state_find (GckEnumeratorState *args, g_debug ("matched %lu objects", count); for (i = 0; i < count; i++) { - result = g_slice_new0 (GckEnumeratorResult); + result = g_new0 (GckEnumeratorResult, 1); result->handle = objects[i]; result->session = g_object_ref (args->session); g_queue_push_tail (args->found, result); diff --git a/gcr/gcr-certificate-chain.c b/gcr/gcr-certificate-chain.c index c5cb8b8..adf8457 100644 --- a/gcr/gcr-certificate-chain.c +++ b/gcr/gcr-certificate-chain.c @@ -105,13 +105,13 @@ free_chain_private (gpointer data) g_ptr_array_unref (pv->certificates); g_free (pv->purpose); g_free (pv->peer); - g_slice_free (GcrCertificateChainPrivate, pv); + g_free (pv); } static GcrCertificateChainPrivate* new_chain_private (void) { - GcrCertificateChainPrivate *pv = g_slice_new0 (GcrCertificateChainPrivate); + GcrCertificateChainPrivate *pv = g_new0 (GcrCertificateChainPrivate, 1); pv->certificates = g_ptr_array_new_with_free_func (g_object_unref); return pv; } diff --git a/gcr/gcr-record.c b/gcr/gcr-record.c index e928200..66e7757 100644 --- a/gcr/gcr-record.c +++ b/gcr/gcr-record.c @@ -99,7 +99,7 @@ record_flatten (GcrRecord *record) total += strlen (record->columns[i]) + 1; /* Allocate a new GcrRecordData which will hold all that */ - result = g_slice_new0 (GcrRecord); + result = g_new0 (GcrRecord, 1); result->block = block = record_block_new (NULL, total); at = 0; @@ -149,7 +149,7 @@ _gcr_record_new (GQuark schema, GcrRecord *result; guint i; - result = g_slice_new0 (GcrRecord); + result = g_new0 (GcrRecord, 1); result->block = NULL; result->delimiter = delimiter; @@ -177,7 +177,7 @@ take_and_parse_internal (GcrRecordBlock *block, g_assert (block); - result = g_slice_new0 (GcrRecord); + result = g_new0 (GcrRecord, 1); result->block = block; result->delimiter = delimiter; @@ -725,7 +725,7 @@ _gcr_record_free (gpointer record) g_free (block); } - g_slice_free (GcrRecord, record); + g_free (record); } GQuark diff --git a/gcr/gcr-subject-public-key.c b/gcr/gcr-subject-public-key.c index 9ae79f7..0a7ea0d 100644 --- a/gcr/gcr-subject-public-key.c +++ b/gcr/gcr-subject-public-key.c @@ -508,7 +508,7 @@ load_closure_free (gpointer data) LoadClosure *closure = data; g_object_unref (closure->object); gck_builder_clear (&closure->builder); - g_slice_free (LoadClosure, closure); + g_free (closure); } static void @@ -539,7 +539,7 @@ _gcr_subject_public_key_load_async (GckObject *key, task = g_task_new (NULL, cancellable, callback, user_data); g_task_set_source_tag (task, _gcr_subject_public_key_load_async); - closure = g_slice_new0 (LoadClosure); + closure = g_new0 (LoadClosure, 1); closure->object = g_object_ref (key); lookup_attributes (key, &closure->builder); g_task_set_task_data (task, closure, load_closure_free); diff --git a/gcr/gcr-system-prompter.c b/gcr/gcr-system-prompter.c index 0f993ee..036ea45 100644 --- a/gcr/gcr-system-prompter.c +++ b/gcr/gcr-system-prompter.c @@ -156,7 +156,7 @@ on_prompt_close (GcrPrompt *prompt, static Callback * callback_dup (Callback *original) { - Callback *callback = g_slice_new0 (Callback); + Callback *callback = g_new0 (Callback, 1); g_assert (original != NULL); g_assert (original->path != NULL); g_assert (original->name != NULL); @@ -171,7 +171,7 @@ callback_free (gpointer data) Callback *callback = data; g_free ((gchar *)callback->path); g_free ((gchar *)callback->name); - g_slice_free (Callback, callback); + g_free (callback); } static guint @@ -208,7 +208,7 @@ active_prompt_unref (gpointer data) g_hash_table_destroy (active->changed); if (active->exchange) g_object_unref (active->exchange); - g_slice_free (ActivePrompt, active); + g_free (active); } } @@ -226,7 +226,7 @@ active_prompt_create (GcrSystemPrompter *self, { ActivePrompt *active; - active = g_slice_new0 (ActivePrompt); + active = g_new0 (ActivePrompt, 1); active->refs = 1; active->callback = callback_dup (lookup); active->prompter = g_object_ref (self); |