projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix segfault for ltt-sessiond pathname
[lttng-tools.git]
/
lttng
/
lttng.c
diff --git
a/lttng/lttng.c
b/lttng/lttng.c
index f4fab034f8f34c390570915c5b1f57b0dea4e57a..c7ff4edde334dd5131e1b207c902498cc8fc5ce1 100644
(file)
--- a/
lttng/lttng.c
+++ b/
lttng/lttng.c
@@
-122,22
+122,24
@@
error:
*/
static int process_opt_list_apps(void)
{
*/
static int process_opt_list_apps(void)
{
- int i, ret;
+ int i, ret
, count
;
pid_t *pids;
FILE *fp;
char path[24]; /* Can't go bigger than /proc/65535/cmdline */
char cmdline[PATH_MAX];
pid_t *pids;
FILE *fp;
char path[24]; /* Can't go bigger than /proc/65535/cmdline */
char cmdline[PATH_MAX];
- ret = lttng_ust_list_apps(&pids);
- if (ret < 0) {
+ count = lttng_ust_list_apps(&pids);
+ if (count < 0) {
+ ret = count;
goto error;
}
MSG("LTTng UST traceable application [name (pid)]:");
goto error;
}
MSG("LTTng UST traceable application [name (pid)]:");
- for (i=0; i <
re
t; i++) {
+ for (i=0; i <
coun
t; i++) {
snprintf(path, sizeof(path), "/proc/%d/cmdline", pids[i]);
fp = fopen(path, "r");
if (fp == NULL) {
snprintf(path, sizeof(path), "/proc/%d/cmdline", pids[i]);
fp = fopen(path, "r");
if (fp == NULL) {
+ MSG("\t(not running) (%d)", pids[i]);
continue;
}
ret = fread(cmdline, 1, sizeof(cmdline), fp);
continue;
}
ret = fread(cmdline, 1, sizeof(cmdline), fp);
@@
-219,7
+221,13
@@
static int check_ltt_sessiond(void)
pathname = opt_sessiond_path;
} else {
/* Try LTTNG_SESSIOND_PATH env variable */
pathname = opt_sessiond_path;
} else {
/* Try LTTNG_SESSIOND_PATH env variable */
- pathname = strdup(getenv(LTTNG_SESSIOND_PATH_ENV));
+ pathname = getenv(LTTNG_SESSIOND_PATH_ENV);
+ if (pathname != NULL) {
+ /* strdup here in order to make the free()
+ * not fail later on.
+ */
+ pathname = strdup(pathname);
+ }
}
/* Let's rock and roll */
}
/* Let's rock and roll */
This page took
0.032904 seconds
and
4
git commands to generate.