X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Fcommands%2Fcreate.c;h=f60fe619e223e0db9c5686f0a62a5c73362bd02d;hb=cc62c0c06bbfb22885debcaba1164e31cfa4f87b;hp=99e5daa932511bd0b891a773df2be7dc5399a55d;hpb=27089920577ab0b7e237c4ec6ef2d8bdcea4a5ed;p=lttng-tools.git diff --git a/src/bin/lttng/commands/create.c b/src/bin/lttng/commands/create.c index 99e5daa93..f60fe619e 100644 --- a/src/bin/lttng/commands/create.c +++ b/src/bin/lttng/commands/create.c @@ -101,9 +101,8 @@ static int create_session() goto error; } - ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME - "/%s-%s", alloc_path, session_name, datetime); - + ret = asprintf(&traces_path, "%s/" DEFAULT_TRACE_DIR_NAME "/%s-%s", + alloc_path, session_name, datetime); if (ret < 0) { perror("asprintf trace dir name"); ret = CMD_ERROR; @@ -115,7 +114,7 @@ static int create_session() ret = lttng_create_session(session_name, traces_path); if (ret < 0) { - ret = CMD_ERROR; + /* Don't set ret so lttng can interpret the sessiond error. */ goto error; } @@ -132,6 +131,10 @@ static int create_session() ret = CMD_SUCCESS; error: + if (opt_session_name == NULL) { + free(session_name); + } + if (alloc_path) { free(alloc_path); } @@ -175,5 +178,6 @@ int cmd_create(int argc, const char **argv) ret = create_session(); end: + poptFreeContext(pc); return ret; }