From aef71302d6325f3f04cd21e79665e617d3da721d Mon Sep 17 00:00:00 2001 From: David Goulet Date: Thu, 5 Apr 2012 15:56:43 -0400 Subject: [PATCH] Fix: destroy context hash table being NULL Passing an event unknown loglevel type to the session daemon (for UST domain) was triggering an error code path to destroy the context hash table of the event which is not created once the error is hit. Fix a segfault completely killing the session daemon. Signed-off-by: David Goulet --- src/bin/lttng-sessiond/trace-ust.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/bin/lttng-sessiond/trace-ust.c b/src/bin/lttng-sessiond/trace-ust.c index c8b3b72f9..1d48002d0 100644 --- a/src/bin/lttng-sessiond/trace-ust.c +++ b/src/bin/lttng-sessiond/trace-ust.c @@ -250,6 +250,10 @@ struct ltt_ust_event *trace_ust_create_event(struct lttng_event *ev) lttng_ht_node_init_str(&lue->node, lue->attr.name); /* Alloc context hash tables */ lue->ctx = lttng_ht_new(0, LTTNG_HT_TYPE_ULONG); + if (lue->ctx == NULL) { + ERR("Unable to create context hash table for event %s", ev->name); + goto error_free_event; + } DBG2("Trace UST event %s, loglevel (%d,%d) created", lue->attr.name, lue->attr.loglevel_type, @@ -258,7 +262,6 @@ 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; -- 2.34.1