projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add support for --syscalls
[lttng-tools.git]
/
liblttngctl
/
lttngctl.c
diff --git
a/liblttngctl/lttngctl.c
b/liblttngctl/lttngctl.c
index b83d5ca92c83b516ade2f4c05336be116839b3fc..26b721e9928e469dd57e6ba09a696542c87fd799 100644
(file)
--- a/
liblttngctl/lttngctl.c
+++ b/
liblttngctl/lttngctl.c
@@
-152,6
+152,10
@@
static int check_tracing_group(const char *grp_name)
/* Alloc group list of the right size */
grp_list = malloc(grp_list_size * sizeof(gid_t));
/* Alloc group list of the right size */
grp_list = malloc(grp_list_size * sizeof(gid_t));
+ if (!grp_list) {
+ ret = -1;
+ goto end;
+ }
grp_id = getgroups(grp_list_size, grp_list);
if (grp_id < -1) {
perror("getgroups");
grp_id = getgroups(grp_list_size, grp_list);
if (grp_id < -1) {
perror("getgroups");
@@
-343,6
+347,16
@@
static int ask_sessiond(struct lttcomm_session_msg *lsm, void **buf)
goto end;
}
goto end;
}
+ /*
+ * Extra protection not to dereference a NULL pointer. If buf is NULL at
+ * this point, an error is returned and data is freed.
+ */
+ if (buf == NULL) {
+ ret = -1;
+ free(data);
+ goto end;
+ }
+
*buf = data;
ret = size;
*buf = data;
ret = size;
@@
-492,7
+506,7
@@
int lttng_enable_event(struct lttng_handle *handle,
copy_lttng_domain(&lsm.domain, &handle->domain);
copy_lttng_domain(&lsm.domain, &handle->domain);
- if (ev) {
+ if (ev
|| ev->name[0] != '\0'
) {
lsm.cmd_type = LTTNG_ENABLE_EVENT;
memcpy(&lsm.u.enable.event, ev, sizeof(lsm.u.enable.event));
} else {
lsm.cmd_type = LTTNG_ENABLE_EVENT;
memcpy(&lsm.u.enable.event, ev, sizeof(lsm.u.enable.event));
} else {
This page took
0.023587 seconds
and
4
git commands to generate.