Fix: unchecked return value of cds_lfht_destroy()
[lttng-tools.git] / src / bin / lttng-sessiond / tracker.c
index 48dc176c15374d2810532dfc3207aa0625882516..302971767742a41f792f907484e2e91bc10e9c7f 100644 (file)
@@ -1,18 +1,8 @@
 /*
- * Copyright (C) 2018 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
+ * Copyright (C) 2018 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2 only,
- * as published by the Free Software Foundation.
+ * SPDX-License-Identifier: GPL-2.0-only
  *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
 #define _LGPL_SOURCE
@@ -235,11 +225,14 @@ end:
 
 void lttng_tracker_list_destroy(struct lttng_tracker_list *tracker_list)
 {
+       int ret;
+
        if (!tracker_list) {
                return;
        }
        lttng_tracker_list_reset(tracker_list);
-       cds_lfht_destroy(tracker_list->ht, NULL);
+       ret = cds_lfht_destroy(tracker_list->ht, NULL);
+       assert(!ret);
        free(tracker_list);
 }
 
@@ -493,14 +486,19 @@ error:
 int lttng_tracker_id_set_list(struct lttng_tracker_list *tracker_list,
                const struct lttng_tracker_ids *ids)
 {
-       size_t i, count;
+       unsigned int i, count;
        const struct lttng_tracker_id *id;
+       enum lttng_tracker_id_status status;
 
        assert(tracker_list);
        assert(ids);
 
        lttng_tracker_list_reset(tracker_list);
-       count = lttng_tracker_ids_get_count(ids);
+
+       status = lttng_tracker_ids_get_count(ids, &count);
+       if (status != LTTNG_TRACKER_ID_STATUS_OK) {
+               return LTTNG_ERR_INVALID;
+       }
 
        if (count == 0) {
                /* Set state to "track none". */
This page took 0.023698 seconds and 4 git commands to generate.