X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=lttng-sessiond%2Fchannel.c;h=6b3329edd301f247a0ed1f641ee829f2f0a065c5;hp=2dd9840d4083e864230d87235eb9e01752f4cc68;hb=0e636c80aae070dcb89850990053bf3711283340;hpb=ba7f0ae55f6209514025bb538c6fe3faefc32f4b diff --git a/lttng-sessiond/channel.c b/lttng-sessiond/channel.c index 2dd9840d4..6b3329edd 100644 --- a/lttng-sessiond/channel.c +++ b/lttng-sessiond/channel.c @@ -52,19 +52,19 @@ struct lttng_channel *channel_new_default_attr(int dom) chan->attr.read_timer_interval = DEFAULT_CHANNEL_READ_TIMER; switch (dom) { - case LTTNG_DOMAIN_KERNEL: - chan->attr.subbuf_size = DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE; - chan->attr.num_subbuf = DEFAULT_KERNEL_CHANNEL_SUBBUF_NUM; - chan->attr.output = DEFAULT_KERNEL_CHANNEL_OUTPUT; - break; - case LTTNG_DOMAIN_UST: - case LTTNG_DOMAIN_UST_PID: - chan->attr.subbuf_size = DEFAULT_UST_CHANNEL_SUBBUF_SIZE; - chan->attr.num_subbuf = DEFAULT_UST_CHANNEL_SUBBUF_NUM; - chan->attr.output = DEFAULT_UST_CHANNEL_OUTPUT; - break; - default: - goto error; /* Not implemented */ + case LTTNG_DOMAIN_KERNEL: + chan->attr.subbuf_size = DEFAULT_KERNEL_CHANNEL_SUBBUF_SIZE; + chan->attr.num_subbuf = DEFAULT_KERNEL_CHANNEL_SUBBUF_NUM; + chan->attr.output = DEFAULT_KERNEL_CHANNEL_OUTPUT; + break; + case LTTNG_DOMAIN_UST: + case LTTNG_DOMAIN_UST_PID: + chan->attr.subbuf_size = DEFAULT_UST_CHANNEL_SUBBUF_SIZE; + chan->attr.num_subbuf = DEFAULT_UST_CHANNEL_SUBBUF_NUM; + chan->attr.output = DEFAULT_UST_CHANNEL_OUTPUT; + break; + default: + goto error; /* Not implemented */ } return chan; @@ -161,19 +161,19 @@ error: * Create kernel channel of the kernel session and notify kernel thread. */ int channel_kernel_create(struct ltt_kernel_session *ksession, - struct lttng_channel *chan, int kernel_pipe) + struct lttng_channel *attr, int kernel_pipe) { int ret; - struct lttng_channel *attr = chan; + struct lttng_channel *defattr = NULL; /* Creating channel attributes if needed */ if (attr == NULL) { - /* FIXME: this appears to be a memory leak */ - attr = channel_new_default_attr(LTTNG_DOMAIN_KERNEL); - if (attr == NULL) { + defattr = channel_new_default_attr(LTTNG_DOMAIN_KERNEL); + if (defattr == NULL) { ret = LTTCOMM_FATAL; goto error; } + attr = defattr; } /* Channel not found, creating it */ @@ -191,8 +191,8 @@ int channel_kernel_create(struct ltt_kernel_session *ksession, } ret = LTTCOMM_OK; - error: + free(defattr); return ret; }