projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: lttng: poptGetArg doesn't provide string ownership
[lttng-tools.git]
/
src
/
bin
/
lttng
/
commands
/
set_session.cpp
diff --git
a/src/bin/lttng/commands/set_session.cpp
b/src/bin/lttng/commands/set_session.cpp
index 770921292996ac1151584b95db361a1a8bc0901e..dfd247a22e674d74b366c06a0194b5898d8c9d4f 100644
(file)
--- a/
src/bin/lttng/commands/set_session.cpp
+++ b/
src/bin/lttng/commands/set_session.cpp
@@
-18,8
+18,6
@@
#include "../command.hpp"
#include "../command.hpp"
-static char *opt_session_name;
-
#ifdef LTTNG_EMBED_HELP
static const char help_msg[] =
#include <lttng-set-session.1.h>
#ifdef LTTNG_EMBED_HELP
static const char help_msg[] =
#include <lttng-set-session.1.h>
@@
-43,7
+41,7
@@
static struct poptOption long_options[] = {
/*
* Print the necessary mi for a session and name.
*/
/*
* Print the necessary mi for a session and name.
*/
-static int mi_print(char *session_name)
+static int mi_print(c
onst c
har *session_name)
{
int ret;
{
int ret;
@@
-84,14
+82,14
@@
end:
/*
* set_session
*/
/*
* set_session
*/
-static int set_session(
void
)
+static int set_session(
const char *session_name
)
{
int ret = CMD_SUCCESS;
int count, i;
unsigned int session_found = 0;
struct lttng_session *sessions;
{
int ret = CMD_SUCCESS;
int count, i;
unsigned int session_found = 0;
struct lttng_session *sessions;
- if (
opt_session_name && strlen(opt_
session_name) > NAME_MAX) {
+ if (
session_name && strlen(
session_name) > NAME_MAX) {
ERR("Session name too long. Length must be lower or equal to %d",
NAME_MAX);
ret = CMD_ERROR;
ERR("Session name too long. Length must be lower or equal to %d",
NAME_MAX);
ret = CMD_ERROR;
@@
-106,28
+104,28
@@
static int set_session(void)
}
for (i = 0; i < count; i++) {
}
for (i = 0; i < count; i++) {
- if (strncmp(sessions[i].name,
opt_
session_name, NAME_MAX) == 0) {
+ if (strncmp(sessions[i].name, session_name, NAME_MAX) == 0) {
session_found = 1;
break;
}
}
if (!session_found) {
session_found = 1;
break;
}
}
if (!session_found) {
- ERR("Session '%s' not found",
opt_
session_name);
+ ERR("Session '%s' not found", session_name);
ret = CMD_ERROR;
goto error;
}
ret = CMD_ERROR;
goto error;
}
- ret = config_init(
opt_
session_name);
+ ret = config_init(session_name);
if (ret < 0) {
ERR("Unable to set session name");
ret = CMD_ERROR;
goto error;
}
if (ret < 0) {
ERR("Unable to set session name");
ret = CMD_ERROR;
goto error;
}
- MSG("Session set to %s",
opt_
session_name);
+ MSG("Session set to %s", session_name);
if (lttng_opt_mi) {
if (lttng_opt_mi) {
- ret = mi_print(
opt_
session_name);
+ ret = mi_print(session_name);
if (ret) {
ret = CMD_ERROR;
goto error;
if (ret) {
ret = CMD_ERROR;
goto error;
@@
-149,6
+147,7
@@
int cmd_set_session(int argc, const char **argv)
{
int opt, ret = CMD_SUCCESS, command_ret = CMD_SUCCESS, success = 1;
static poptContext pc;
{
int opt, ret = CMD_SUCCESS, command_ret = CMD_SUCCESS, success = 1;
static poptContext pc;
+ const char *arg_session_name = NULL;
pc = poptGetContext(NULL, argc, argv, long_options, 0);
poptReadDefaultConfig(pc, 0);
pc = poptGetContext(NULL, argc, argv, long_options, 0);
poptReadDefaultConfig(pc, 0);
@@
-167,8
+166,8
@@
int cmd_set_session(int argc, const char **argv)
}
}
}
}
-
opt_session_name = (char *)
poptGetArg(pc);
- if (
opt
_session_name == NULL) {
+
arg_session_name =
poptGetArg(pc);
+ if (
arg
_session_name == NULL) {
ERR("Missing session name");
ret = CMD_ERROR;
goto end;
ERR("Missing session name");
ret = CMD_ERROR;
goto end;
@@
-199,7
+198,7
@@
int cmd_set_session(int argc, const char **argv)
}
}
}
}
- command_ret = set_session();
+ command_ret = set_session(
arg_session_name
);
if (command_ret) {
success = 0;
}
if (command_ret) {
success = 0;
}
This page took
0.024216 seconds
and
4
git commands to generate.