X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng%2Futils.c;h=8acca7d864083b645aba09ec8522329792296a07;hb=b35f9922299eb6e515b3d0da1ac9cf917a265976;hp=28b007b2402889d8782473033eee8119258ebc73;hpb=a41134074c65a36cd818e22a99493b0be8199f36;p=deliverable%2Flttng-tools.git diff --git a/src/bin/lttng/utils.c b/src/bin/lttng/utils.c index 28b007b24..8acca7d86 100644 --- a/src/bin/lttng/utils.c +++ b/src/bin/lttng/utils.c @@ -468,8 +468,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; @@ -511,6 +511,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; @@ -572,6 +574,8 @@ int get_session_stats_str(const char *session_name, char **out_str) } end: free(sessions); + free(channels); + free(domains); return ret; }