X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fadd_context.c;h=4aeeff24e86d805fff5a40c679b80fa798da56f6;hb=f11e84c2c33f6e2f4da8436012bcc61b3291b0d7;hp=a1d776d6cbb46da28b4128fd8d2d5fcacb27bf92;hpb=ca1c3607d2f5654163875cda874f43971df0f696;p=lttng-tools.git diff --git a/src/bin/lttng/commands/add_context.c b/src/bin/lttng/commands/add_context.c index a1d776d6c..4aeeff24e 100644 --- a/src/bin/lttng/commands/add_context.c +++ b/src/bin/lttng/commands/add_context.c @@ -309,6 +309,7 @@ static void usage(FILE *ofp) fprintf(ofp, "will be added to all events and all channels.\n"); fprintf(ofp, "Otherwise the context will be added only to the channel (-c)\n"); fprintf(ofp, "and/or event (-e) indicated.\n"); + fprintf(ofp, "Exactly one domain (-k/--kernel or -u/--userspace) must be specified.\n"); fprintf(ofp, "\n"); fprintf(ofp, "Options:\n"); fprintf(ofp, " -h, --help Show this help\n"); @@ -369,6 +370,9 @@ static int add_context(char *session_name) struct ctx_type *type; char *ptr; + memset(&context, 0, sizeof(context)); + memset(&dom, 0, sizeof(dom)); + if (opt_kernel) { dom.type = LTTNG_DOMAIN_KERNEL; } else if (opt_userspace) { @@ -512,6 +516,13 @@ int cmd_add_context(int argc, const char **argv) } } + if (!opt_type) { + ERR("Missing mandatory -t TYPE"); + usage(stderr); + ret = CMD_ERROR; + goto end; + } + if (!opt_session_name) { session_name = get_session_name(); if (session_name == NULL) { @@ -524,6 +535,10 @@ int cmd_add_context(int argc, const char **argv) ret = add_context(session_name); + if (!opt_session_name) { + free(session_name); + } + end: /* Cleanup allocated memory */ cds_list_for_each_entry_safe(type, tmptype, &ctx_type_list.head, list) {