Fix: illegal memory access in cmd_snapshot_record
[lttng-tools.git] / src / bin / lttng / commands / disable_events.c
index 1ce687aa422aebc2eb96e76e348b4552d3fdd565..fe2b674f21dc328f74287140e8d07d59fb3ea1b5 100644 (file)
@@ -80,7 +80,7 @@ static struct poptOption long_options[] = {
  */
 static void usage(FILE *ofp)
 {
-       fprintf(ofp, "usage: lttng disable-event NAME[,NAME2,...] (-k | -u) [OPTIONS]\n");
+       fprintf(ofp, "usage: lttng disable-event NAME[,NAME2,...] (-k | -u | -j | -l) [OPTIONS]\n");
        fprintf(ofp, "\n");
        fprintf(ofp, "Options:\n");
        fprintf(ofp, "  -h, --help               Show this help\n");
@@ -88,9 +88,9 @@ static void usage(FILE *ofp)
        fprintf(ofp, "  -s, --session NAME       Apply to session name\n");
        fprintf(ofp, "  -c, --channel NAME       Apply to this channel\n");
        fprintf(ofp, "  -a, --all-events         Disable all tracepoints\n");
-       fprintf(ofp, "  -k, --kernel             Apply for the kernel tracer\n");
+       fprintf(ofp, "  -k, --kernel             Apply to the kernel tracer\n");
        fprintf(ofp, "  -u, --userspace          Apply to the user-space tracer\n");
-       fprintf(ofp, "  -j, --jul                Apply for Java application using JUL\n");
+       fprintf(ofp, "  -j, --jul                Apply to Java application using JUL\n");
        fprintf(ofp, "  -l, --log4j              Apply to Java application using LOG4j\n");
        fprintf(ofp, "\n");
        fprintf(ofp, "Event options:\n");
@@ -179,9 +179,8 @@ static int disable_events(char *session_name)
        } else if (opt_log4j) {
                dom.type = LTTNG_DOMAIN_LOG4J;
        } else {
-               print_missing_domain();
-               ret = CMD_ERROR;
-               goto error;
+               /* Checked by the caller. */
+               assert(0);
        }
 
        channel_name = opt_channel_name;
@@ -216,6 +215,9 @@ static int disable_events(char *session_name)
        }
 
        memset(&event, 0, sizeof(event));
+       /* Set default loglevel to any/unknown */
+       event.loglevel = -1;
+
        switch (opt_event_type) {
        case LTTNG_EVENT_SYSCALL:
                event.type = LTTNG_EVENT_SYSCALL;
@@ -368,6 +370,13 @@ int cmd_disable_events(int argc, const char **argv)
                }
        }
 
+       ret = print_missing_or_multiple_domains(
+               opt_kernel + opt_userspace + opt_jul + opt_log4j);
+       if (ret) {
+               ret = CMD_ERROR;
+               goto end;
+       }
+
        opt_event_list = (char*) poptGetArg(pc);
        if (opt_event_list == NULL && opt_disable_all == 0) {
                ERR("Missing event name(s).\n");
This page took 0.029333 seconds and 4 git commands to generate.