X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrace-ust.c;h=7b5c3c788e4ff622a18d74f7fc2ce01555483359;hb=abc9138a92fb32f5525f29160aabd6dc18e441cd;hp=8cc1b59158ddfc3f840b73a6409f906029e5625c;hpb=d14d33bf091e72b23b1f90ea18a0a01bed098b76;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index 8cc1b5915..7b5c3c788 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -121,6 +121,9 @@ struct ltt_ust_session *trace_ust_create_session(char *path, int session_id, return lus; error_free_session: + lttng_ht_destroy(lus->domain_global.channels); + lttng_ht_destroy(lus->domain_exec); + lttng_ht_destroy(lus->domain_pid); free(lus); error: return NULL; @@ -180,6 +183,8 @@ struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *chan, return luc; error_free_channel: + lttng_ht_destroy(luc->ctx); + lttng_ht_destroy(luc->events); free(luc); error: return NULL; @@ -253,6 +258,7 @@ struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev) return lue; error_free_event: + lttng_ht_destroy(lue->ctx); free(lue); error: return NULL; @@ -453,8 +459,10 @@ static void destroy_channel_rcu(struct rcu_head *head) */ void trace_ust_destroy_metadata(struct ltt_ust_metadata *metadata) { + if (!metadata->handle) { + return; + } DBG2("Trace UST destroy metadata %d", metadata->handle); - free(metadata); }