goto alloc_error;
}
+ if (lttng_ust_session_uuid_validate(session, lttng_chan_config->uuid)) {
+ ret = -EINVAL;
+ goto uuid_error;
+ }
+
/* Lookup transport name */
switch (type) {
case LTTNG_UST_ABI_CHAN_PER_CPU:
lttng_chan_buf->parent->session = session;
lttng_chan_buf->priv->parent.tstate = 1;
+ lttng_chan_buf->priv->ctx = NULL;
- lttng_chan_buf->ctx = NULL;
lttng_chan_buf->ops = &transport->ops;
lttng_chan_buf->chan = chan;
lttng_chan_buf->handle = channel_handle;
/* error path after channel was created */
objd_error:
notransport:
+uuid_error:
alloc_error:
channel_destroy(chan, channel_handle, 0);
lttng_ust_free_channel_common(lttng_chan_buf->parent);
case LTTNG_UST_ABI_CONTEXT:
return lttng_abi_add_context(objd,
(struct lttng_ust_abi_context *) arg, uargs,
- <tng_chan_buf->ctx,
+ <tng_chan_buf->priv->ctx,
lttng_chan_buf->parent->session);
case LTTNG_UST_ABI_ENABLE:
return lttng_channel_enable(lttng_chan_buf->parent);