relayd: silence null dereference warning during viewer stream creation
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 16 Oct 2020 12:25:10 +0000 (08:25 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Fri, 16 Oct 2020 12:25:10 +0000 (08:25 -0400)
Coverity warns that the vstream's trace chunk may be used NULL.
However, this won't happen if the corresponding relay stream has
an active trace chunk.

Coverity report:
  1433620 Dereference after null check

  Either the check against null is unnecessary, or there may be a
  null pointer dereference.

  In viewer_stream_create: Pointer is checked against null but then
  dereferenced anyway (CWE-476)

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

src/bin/lttng-relayd/viewer-stream.c

index 67c452eec7d4264139f1134b1fcdd4bc2aa2d49c..00616569ba0b147e7ce63181bcf82e21e84596c1 100644 (file)
@@ -122,7 +122,7 @@ struct relay_viewer_stream *viewer_stream_create(struct relay_stream *stream,
         */
        if (stream->index_file == NULL) {
                vstream->index_file = NULL;
-       } else {
+       } else if (vstream->stream_file.trace_chunk) {
                const uint32_t connection_major = stream->trace->session->major;
                const uint32_t connection_minor = stream->trace->session->minor;
                enum lttng_trace_chunk_status chunk_status;
@@ -150,7 +150,7 @@ struct relay_viewer_stream *viewer_stream_create(struct relay_stream *stream,
         * If we never received a data file for the current stream, delay the
         * opening, otherwise open it right now.
         */
-       if (stream->file) {
+       if (stream->file && vstream->stream_file.trace_chunk) {
                int ret;
                char file_path[LTTNG_PATH_MAX];
                enum lttng_trace_chunk_status status;
This page took 0.025821 seconds and 4 git commands to generate.