Fix: Use after free on spawn_sessiond error path in check_sessiond
[lttng-tools.git] / src / bin / lttng / lttng.c
index 75a46760644b848d7a81fd1188b05b126a79a9e0..be673f94f2d0ab552c4f9daa3f90bff70637b2d1 100644 (file)
@@ -74,13 +74,15 @@ static struct cmd_struct commands[] =  {
        { "version", cmd_version},
        { "calibrate", cmd_calibrate},
        { "view", cmd_view},
+       { "enable-consumer", cmd_enable_consumer}, /* OBSELETE */
+       { "disable-consumer", cmd_disable_consumer}, /*OBSELETE */
        { NULL, NULL}   /* Array closure */
 };
 
 static void usage(FILE *ofp)
 {
        fprintf(ofp, "LTTng Trace Control " VERSION" - " VERSION_NAME"\n\n");
-       fprintf(ofp, "usage: lttng [OPTIONS] <COMMAND>\n");
+       fprintf(ofp, "usage: lttng [OPTIONS] <COMMAND> [<ARGS>]\n");
        fprintf(ofp, "\n");
        fprintf(ofp, "Options:\n");
        fprintf(ofp, "  -h, --help                 Show this help\n");
@@ -93,20 +95,20 @@ static void usage(FILE *ofp)
        fprintf(ofp, "      --sessiond-path PATH   Session daemon full path\n");
        fprintf(ofp, "\n");
        fprintf(ofp, "Commands:\n");
-       fprintf(ofp, "    add-context     Add context to event and/or channel\n");
-       fprintf(ofp, "    calibrate       Quantify LTTng overhead\n");
-       fprintf(ofp, "    create          Create tracing session\n");
-       fprintf(ofp, "    destroy         Tear down tracing session\n");
-       fprintf(ofp, "    enable-channel  Enable tracing channel\n");
-       fprintf(ofp, "    enable-event    Enable tracing event\n");
-       fprintf(ofp, "    disable-channel Disable tracing channel\n");
-       fprintf(ofp, "    disable-event   Disable tracing event\n");
-       fprintf(ofp, "    list            List possible tracing options\n");
-       fprintf(ofp, "    set-session     Set current session name\n");
-       fprintf(ofp, "    start           Start tracing\n");
-       fprintf(ofp, "    stop            Stop tracing\n");
-       fprintf(ofp, "    version         Show version information\n");
-       fprintf(ofp, "    view            Start trace viewer\n");
+       fprintf(ofp, "    add-context       Add context to event and/or channel\n");
+       fprintf(ofp, "    calibrate         Quantify LTTng overhead\n");
+       fprintf(ofp, "    create            Create tracing session\n");
+       fprintf(ofp, "    destroy           Tear down tracing session\n");
+       fprintf(ofp, "    enable-channel    Enable tracing channel\n");
+       fprintf(ofp, "    enable-event      Enable tracing event\n");
+       fprintf(ofp, "    disable-channel   Disable tracing channel\n");
+       fprintf(ofp, "    disable-event     Disable tracing event\n");
+       fprintf(ofp, "    list              List possible tracing options\n");
+       fprintf(ofp, "    set-session       Set current session name\n");
+       fprintf(ofp, "    start             Start tracing\n");
+       fprintf(ofp, "    stop              Stop tracing\n");
+       fprintf(ofp, "    version           Show version information\n");
+       fprintf(ofp, "    view              Start trace viewer\n");
        fprintf(ofp, "\n");
        fprintf(ofp, "Each command also has its own -h, --help option.\n");
        fprintf(ofp, "\n");
@@ -372,13 +374,12 @@ static int check_sessiond(void)
                }
 
                ret = spawn_sessiond(pathname);
-               free(alloc_pathname);
                if (ret < 0) {
                        ERR("Problem occurred when starting %s", pathname);
-                       goto end;
                }
-       }
 
+               free(alloc_pathname);
+       }
 end:
        return ret;
 }
This page took 0.027678 seconds and 5 git commands to generate.