summaryrefslogtreecommitdiff
path: root/libsecret/secret-value.c
diff options
context:
space:
mode:
authorNiels De Graef <nielsdegraef@gmail.com>2023-01-16 19:15:20 +0100
committerNiels De Graef <nielsdegraef@gmail.com>2023-01-16 19:17:59 +0100
commit0f04e5d371b8060801656715ea659e44fd8ebe9c (patch)
tree9b3bf76e2f4b6360b3207492557763409036db70 /libsecret/secret-value.c
parent33a4de59a2a3357cea5bd339489340a9c615024d (diff)
downloadlibsecret-0f04e5d371b8060801656715ea659e44fd8ebe9c.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` and some other envvars 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
Diffstat (limited to 'libsecret/secret-value.c')
-rw-r--r--libsecret/secret-value.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/libsecret/secret-value.c b/libsecret/secret-value.c
index a6f3760..2832212 100644
--- a/libsecret/secret-value.c
+++ b/libsecret/secret-value.c
@@ -134,7 +134,7 @@ secret_value_new_full (gchar *secret,
if (length < 0)
length = strlen (secret);
- value = g_slice_new0 (SecretValue);
+ value = g_new0 (SecretValue, 1);
value->refs = 1;
value->content_type = g_strdup (content_type);
value->destroy = destroy;
@@ -243,7 +243,7 @@ secret_value_unref (gpointer value)
g_free (val->content_type);
if (val->destroy)
(val->destroy) (val->secret);
- g_slice_free (SecretValue, val);
+ g_free (val);
}
}
@@ -296,7 +296,7 @@ secret_value_unref_to_password (SecretValue *value,
*length = val->length;
}
g_free (val->content_type);
- g_slice_free (SecretValue, val);
+ g_free (val);
} else {
result = egg_secure_strndup (val->secret, val->length);
@@ -343,7 +343,7 @@ _secret_value_unref_to_string (SecretValue *value)
(val->destroy) (val->secret);
}
g_free (val->content_type);
- g_slice_free (SecretValue, val);
+ g_free (val);
} else {
result = g_strndup (val->secret, val->length);