Fix: sessiond: use after free
[lttng-tools.git] / src / bin / lttng-sessiond / cmd.cpp
index e16f93f71881c2db7ab6de10c4f57639eaa4dd69..0ca7f217244bd81d7cba98431347d60e7f61c9b4 100644 (file)
@@ -3785,14 +3785,15 @@ enum lttng_error_code cmd_list_channels(enum lttng_domain_type domain,
 
                        ret = lttng_channel_serialize(
                                        channel, &payload->buffer);
-                       lttng_channel_destroy(channel);
                        if (ret) {
                                ERR("Failed to serialize lttng_channel: channel name = '%s'",
                                                channel->name);
+                               lttng_channel_destroy(channel);
                                ret_code = LTTNG_ERR_UNK;
                                goto end;
                        }
 
+                       lttng_channel_destroy(channel);
                        i++;
                }
                rcu_read_unlock();
This page took 0.02297 seconds and 4 git commands to generate.