Fix: unchecked access to pids array
[lttng-tools.git] / src / lib / lttng-ctl / lttng-ctl.c
index f503fd1cbf42a25660a990d869c7adeb467cc823..d8e2f1428df7fc27560b532c5b3c41ca478c60f8 100644 (file)
@@ -2039,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);
@@ -2115,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;
                }
@@ -2744,6 +2744,9 @@ int lttng_list_tracker_pids(struct lttng_handle *handle,
                return ret;
        }
        nr_pids = ret / sizeof(int32_t);
+       if (nr_pids > 0 && !pids) {
+               return -LTTNG_ERR_UNK;
+       }
        if (nr_pids == 1 && pids[0] == -1) {
                free(pids);
                pids = NULL;
This page took 0.023888 seconds and 4 git commands to generate.