diff options
| author | Frederic Peters <fpeters@entrouvert.com> | 2004-12-30 20:04:44 +0000 |
|---|---|---|
| committer | Frederic Peters <fpeters@entrouvert.com> | 2004-12-30 20:04:44 +0000 |
| commit | 1206801205f7fb4f61720cd804d94bc2f744338f (patch) | |
| tree | 6c17ccfa94637044d1102bff3e0b15702037ea5a | |
| parent | 4f8d34a9eee50fdf7513c149a0e8dd58157e4b73 (diff) | |
memory management for #LassoIdentity and #LassoSession (partial)
| -rw-r--r-- | lasso/id-ff/identity.c | 5 | ||||
| -rw-r--r-- | lasso/id-ff/session.c | 9 |
2 files changed, 10 insertions, 4 deletions
diff --git a/lasso/id-ff/identity.c b/lasso/id-ff/identity.c index ce5143ca..d63f7213 100644 --- a/lasso/id-ff/identity.c +++ b/lasso/id-ff/identity.c @@ -181,8 +181,8 @@ dispose(GObject *object) debug("Identity object 0x%p disposed ...", identity); - /* XXX: here or in finalize ? - * g_hash_table_destroy(identity->federations); */ + g_hash_table_destroy(identity->federations); + identity->federations = NULL; G_OBJECT_CLASS(parent_class)->dispose(object); } @@ -193,6 +193,7 @@ finalize(GObject *object) LassoIdentity *identity = LASSO_IDENTITY(object); debug("Identity object 0x%p finalized ...", identity); + g_free(identity->private_data); identity->private_data = NULL; G_OBJECT_CLASS(parent_class)->finalize(object); } diff --git a/lasso/id-ff/session.c b/lasso/id-ff/session.c index 46e28f96..f7cca3ff 100644 --- a/lasso/id-ff/session.c +++ b/lasso/id-ff/session.c @@ -323,10 +323,15 @@ dispose(GObject *object) debug("Session object 0x%p disposed ...", session); - /* XXX: here or not ? +#if 0 /* XXX: disabled; memory management problem somewhere */ g_hash_table_destroy(session->assertions); session->assertions = NULL; - */ +#endif + g_hash_table_destroy(session->private_data->status); + session->private_data->status = NULL; + g_list_free(session->private_data->providerIDs); + session->private_data->providerIDs = NULL; + G_OBJECT_CLASS(parent_class)->dispose(object); } |
