Fix: sessiond: use after free
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Wed, 2 Mar 2022 15:24:29 +0000 (10:24 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 3 Mar 2022 16:03:48 +0000 (11:03 -0500)
Introduced by 88b02a8e7cbdbc728cc681cd07bbe0c738964717

Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I9b1c3eeed7e51976af1a4982fc522066b3b29461

src/bin/lttng-sessiond/cmd.c

index 9bdfab141263d203ff2a93ae8c39070a1ffa121a..28c1290adfb59467d2c3cdef8be3c58beba187eb 100644 (file)
@@ -3786,14 +3786,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.029707 seconds and 4 git commands to generate.