Fix: lttng: add-trigger: leak of parser context on capture
[lttng-tools.git] / src / bin / lttng / utils.c
index e836943991da04d16c9c0764230cd4e3ca6367e6..b42f572f60c6a264b17e35e88938899566b657bf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2011 EfficiOS Inc.
  *
  * SPDX-License-Identifier: GPL-2.0-only
  *
@@ -453,8 +453,8 @@ void print_session_stats(const char *session_name)
 int get_session_stats_str(const char *session_name, char **out_str)
 {
        int count, nb_domains, domain_idx, channel_idx, session_idx, ret;
-       struct lttng_domain *domains;
-       struct lttng_channel *channels;
+       struct lttng_domain *domains = NULL;
+       struct lttng_channel *channels = NULL;
        uint64_t discarded_events_total = 0, lost_packets_total = 0;
        struct lttng_session *sessions = NULL;
        const struct lttng_session *selected_session = NULL;
@@ -496,6 +496,8 @@ int get_session_stats_str(const char *session_name, char **out_str)
                        goto end;
                }
 
+               free(channels);
+               channels = NULL;
                count = lttng_list_channels(handle, &channels);
                for (channel_idx = 0; channel_idx < count; channel_idx++) {
                        uint64_t discarded_events = 0, lost_packets = 0;
@@ -557,6 +559,8 @@ int get_session_stats_str(const char *session_name, char **out_str)
        }
 end:
        free(sessions);
+       free(channels);
+       free(domains);
        return ret;
 }
 
This page took 0.061972 seconds and 4 git commands to generate.