X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fdata%2Fsession.c;h=ae37c76b945c8ae9c69288313f69db41d5b24c15;hb=refs%2Fheads%2Fctables7;hp=56aa31a91cd581036890e312c04bb83bdd30de5b;hpb=3b07fccffef73bba4bb1839fced20554df75901e;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));