Add support for --syscalls
[lttng-tools.git] / liblttngctl / lttngctl.c
index b83d5ca92c83b516ade2f4c05336be116839b3fc..26b721e9928e469dd57e6ba09a696542c87fd799 100644 (file)
@@ -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));
+       if (!grp_list) {
+               ret = -1;
+               goto end;
+       }
        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;
        }
 
+       /*
+        * 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;
 
@@ -492,7 +506,7 @@ int lttng_enable_event(struct lttng_handle *handle,
 
        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 {
This page took 0.024661 seconds and 4 git commands to generate.