diff options
author | Ray Strode <rstrode@redhat.com> | 2022-12-15 16:27:27 -0500 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2022-12-16 23:28:15 -0500 |
commit | 0907502aaf472d74438bf5a45d77af547be469b3 (patch) | |
tree | 286f6dbd29b5a3107a3a981e3a36de8912d95756 | |
parent | d3f3e2cee1c5aff89ba41570e0bdb6fbefcee192 (diff) | |
download | gnome-online-accounts-0907502aaf472d74438bf5a45d77af547be469b3.tar.gz |
goakerberosidentity: Fix crash when erasing credentials
Right now when erasing an identity we erase the
active credentials first and then the inactive
ones.
We neglect to take the active one out of the hash
table, though, so it gets destroyed twice.
This commit fixes that.
-rw-r--r-- | src/goaidentity/goakerberosidentity.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/goaidentity/goakerberosidentity.c b/src/goaidentity/goakerberosidentity.c index bc60796..46a6fb2 100644 --- a/src/goaidentity/goakerberosidentity.c +++ b/src/goaidentity/goakerberosidentity.c @@ -1719,6 +1719,8 @@ goa_kerberos_identity_erase (GoaKerberosIdentity *self, GError **error) self->active_credentials_cache_name); g_debug ("GoaKerberosIdentity: Destroying active credentials cache %s", self->active_credentials_cache_name); error_code = krb5_cc_destroy (self->kerberos_context, credentials_cache); + g_hash_table_remove (self->credentials_caches, self->active_credentials_cache_name); + g_clear_pointer (&self->active_credentials_cache_name, g_free); if (error_code != 0) |