Fix: relayd: send_viewer_streams sends stack data in padding
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Thu, 16 Jul 2020 16:39:20 +0000 (12:39 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 17 Jul 2020 18:34:03 +0000 (14:34 -0400)
A single stack-allocated instance of `struct lttng_viewer_stream` is
used to send the various streams to the live viewer. This structure
contains a path and channel name which remain uninitialized beyond the
null terminator.

The structure is zeroed on every iteration.

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I1c60ee18e01e8f56157f0fe44bd3bd64b1194703

src/bin/lttng-relayd/live.c

index 1b25671d5f76a82ad83a33ceceb3691e8794457c..75c0227079d714f0230016af4e3c1cd72c240f17 100644 (file)
@@ -200,7 +200,6 @@ ssize_t send_viewer_streams(struct lttcomm_sock *sock,
                uint64_t session_id, unsigned int ignore_sent_flag)
 {
        ssize_t ret;
-       struct lttng_viewer_stream send_stream;
        struct lttng_ht_iter iter;
        struct relay_viewer_stream *vstream;
 
@@ -209,6 +208,7 @@ ssize_t send_viewer_streams(struct lttcomm_sock *sock,
        cds_lfht_for_each_entry(viewer_streams_ht->ht, &iter.iter, vstream,
                        stream_n.node) {
                struct ctf_trace *ctf_trace;
+               struct lttng_viewer_stream send_stream = {};
 
                health_code_update();
 
This page took 0.026053 seconds and 4 git commands to generate.