projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix memleak in lttng list.c
[lttng-tools.git]
/
src
/
bin
/
lttng
/
commands
/
list.c
diff --git
a/src/bin/lttng/commands/list.c
b/src/bin/lttng/commands/list.c
index e4ab97cbe920c67c385e30fceccb8a68a271a145..6040d008d09a7b5f55f06dfdb05f7eb42981bf53 100644
(file)
--- a/
src/bin/lttng/commands/list.c
+++ b/
src/bin/lttng/commands/list.c
@@
-246,6
+246,8
@@
static int list_ust_events(void)
struct lttng_event *event_list;
pid_t cur_pid = 0;
struct lttng_event *event_list;
pid_t cur_pid = 0;
+ memset(&domain, 0, sizeof(domain));
+
DBG("Getting UST tracing events");
domain.type = LTTNG_DOMAIN_UST;
DBG("Getting UST tracing events");
domain.type = LTTNG_DOMAIN_UST;
@@
-258,6
+260,7
@@
static int list_ust_events(void)
size = lttng_list_tracepoints(handle, &event_list);
if (size < 0) {
ERR("Unable to list UST events");
size = lttng_list_tracepoints(handle, &event_list);
if (size < 0) {
ERR("Unable to list UST events");
+ lttng_destroy_handle(handle);
return size;
}
return size;
}
@@
-278,10
+281,12
@@
static int list_ust_events(void)
MSG("");
free(event_list);
MSG("");
free(event_list);
+ lttng_destroy_handle(handle);
return CMD_SUCCESS;
error:
return CMD_SUCCESS;
error:
+ lttng_destroy_handle(handle);
return -1;
}
return -1;
}
@@
-295,6
+300,8
@@
static int list_kernel_events(void)
struct lttng_handle *handle;
struct lttng_event *event_list;
struct lttng_handle *handle;
struct lttng_event *event_list;
+ memset(&domain, 0, sizeof(domain));
+
DBG("Getting kernel tracing events");
domain.type = LTTNG_DOMAIN_KERNEL;
DBG("Getting kernel tracing events");
domain.type = LTTNG_DOMAIN_KERNEL;
@@
-307,6
+314,7
@@
static int list_kernel_events(void)
size = lttng_list_tracepoints(handle, &event_list);
if (size < 0) {
ERR("Unable to list kernel events");
size = lttng_list_tracepoints(handle, &event_list);
if (size < 0) {
ERR("Unable to list kernel events");
+ lttng_destroy_handle(handle);
return size;
}
return size;
}
@@
-320,9
+328,11
@@
static int list_kernel_events(void)
free(event_list);
free(event_list);
+ lttng_destroy_handle(handle);
return CMD_SUCCESS;
error:
return CMD_SUCCESS;
error:
+ lttng_destroy_handle(handle);
return -1;
}
return -1;
}
@@
-556,6
+566,8
@@
int cmd_list(int argc, const char **argv)
struct lttng_domain domain;
struct lttng_domain *domains = NULL;
struct lttng_domain domain;
struct lttng_domain *domains = NULL;
+ memset(&domain, 0, sizeof(domain));
+
if (argc < 1) {
usage(stderr);
ret = CMD_ERROR;
if (argc < 1) {
usage(stderr);
ret = CMD_ERROR;
@@
-592,6
+604,10
@@
int cmd_list(int argc, const char **argv)
} else if (opt_userspace) {
DBG2("Listing userspace global domain");
domain.type = LTTNG_DOMAIN_UST;
} else if (opt_userspace) {
DBG2("Listing userspace global domain");
domain.type = LTTNG_DOMAIN_UST;
+ } else {
+ usage(stderr);
+ ret = CMD_UNDEFINED;
+ goto end;
}
handle = lttng_create_handle(session_name, &domain);
}
handle = lttng_create_handle(session_name, &domain);
This page took
0.024123 seconds
and
4
git commands to generate.