Fix: missing jump to error on allocation failure
[lttng-tools.git] / src / lib / lttng-ctl / lttng-ctl.c
index c79cc6dd59eb251a7b5c237b1dd7e4c4108dcbe3..c8d60cddcaee5e5bd9e2323c680c5dc710104cfc 100644 (file)
@@ -1033,6 +1033,9 @@ int lttng_enable_event_with_exclusions(struct lttng_handle *handle,
        bool send_fd = false;
        unsigned int free_filter_expression = 0;
        struct filter_parser_ctx *ctx = NULL;
+
+       memset(&send_buffer, 0, sizeof(send_buffer));
+
        /*
         * Cast as non-const since we may replace the filter expression
         * by a dynamically allocated string. Otherwise, the original
@@ -1956,6 +1959,11 @@ int lttng_list_events(struct lttng_handle *handle,
                goto end;
        }
 
+       if (!cmd_header) {
+               ret = -LTTNG_ERR_UNK;
+               goto end;
+       }
+
        /* Set number of events and free command header */
        nb_events = cmd_header->nb_events;
        if (nb_events > INT_MAX) {
@@ -2031,7 +2039,6 @@ int lttng_list_events(struct lttng_handle *handle,
 
                        probe_storage_req = ret;
                        comm_ext_at += ext_comm->userspace_probe_location_len;
-                       ret = 0;
                }
 
                storage_req += sizeof(struct lttng_event_extended);
@@ -2107,6 +2114,7 @@ int lttng_list_events(struct lttng_handle *handle,
                                        ext_comm->nb_exclusions * LTTNG_SYMBOL_NAME_LEN);
                        if (ret) {
                                ret = -LTTNG_ERR_NOMEM;
+                               goto free_dynamic_buffer;
                        }
                        comm_ext_at += ext_comm->nb_exclusions * LTTNG_SYMBOL_NAME_LEN;
                }
@@ -2719,7 +2727,7 @@ int lttng_list_tracker_pids(struct lttng_handle *handle,
        int enabled = 1;
        struct lttcomm_session_msg lsm;
        size_t nr_pids;
-       int32_t *pids;
+       int32_t *pids = NULL;
 
        if (handle == NULL) {
                return -LTTNG_ERR_INVALID;
This page took 0.024451 seconds and 5 git commands to generate.