X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fsession.c;h=ae37c76b945c8ae9c69288313f69db41d5b24c15;hb=73ce37552fb2846a5a5c23d401f21b4951888029;hp=56aa31a91cd581036890e312c04bb83bdd30de5b;hpb=b2b2b0a29f80de89d96bcceea90f117930ab47b9;p=pspp diff --git a/src/data/session.c b/src/data/session.c index 56aa31a91c..ae37c76b94 100644 --- a/src/data/session.c +++ b/src/data/session.c @@ -69,6 +69,7 @@ session_destroy (struct session *s) s->active = NULL; HMAPX_FOR_EACH_SAFE (ds, node, next, &s->datasets) dataset_destroy (ds); + hmapx_destroy (&s->datasets); free (s->syntax_encoding); free (s); } @@ -96,7 +97,10 @@ session_add_dataset (struct session *s, struct dataset *ds) if (old == s->active) s->active = ds; if (old != NULL) - session_remove_dataset (s, old); + { + session_remove_dataset (s, old); + dataset_destroy (old); + } hmapx_insert (&s->datasets, ds, utf8_hash_case_string (dataset_name (ds), 0));