projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: Possible call to execvp with NULL argument on allocation failure
[lttng-tools.git]
/
src
/
bin
/
lttng
/
commands
/
view.c
diff --git
a/src/bin/lttng/commands/view.c
b/src/bin/lttng/commands/view.c
index c2a3c217076b029eca78145d1d7fe84ebed3a0d1..b6d2bffb0587c22b11acace439e3d49017517fa6 100644
(file)
--- a/
src/bin/lttng/commands/view.c
+++ b/
src/bin/lttng/commands/view.c
@@
-159,6
+159,9
@@
static char **alloc_argv_from_user_opts(char *opts, const char *trace_path)
token = strtok(opts, " ");
while (token != NULL) {
argv[i] = strdup(token);
token = strtok(opts, " ");
while (token != NULL) {
argv[i] = strdup(token);
+ if (argv[i] == NULL) {
+ goto error;
+ }
token = strtok(NULL, " ");
i++;
}
token = strtok(NULL, " ");
i++;
}
@@
-169,6
+172,13
@@
static char **alloc_argv_from_user_opts(char *opts, const char *trace_path)
return argv;
error:
return argv;
error:
+ if (argv) {
+ for (i = 0; i < num_opts + 2; i++) {
+ free(argv[i]);
+ }
+ free(argv);
+ }
+
return NULL;
}
return NULL;
}
@@
-271,7
+281,7
@@
static int spawn_viewer(const char *trace_path)
break;
}
break;
}
- if (argv == NULL) {
+ if (argv == NULL
|| !viewer_bin
) {
ret = CMD_FATAL;
goto error;
}
ret = CMD_FATAL;
goto error;
}
This page took
0.023905 seconds
and
4
git commands to generate.