Fix: relay: viewer_get_next_index handle null vstream
[lttng-tools.git] / src / bin / lttng-relayd / live.c
index aa0586814e6ba55adeb6c2b35d5c31f1789bcc51..bafdf35ce90034a90e8ee0e9eaa1a8996103de9e 100644 (file)
@@ -316,8 +316,14 @@ int make_viewer_streams(struct relay_session *session,
                        /*
                         * Stream has no data, don't consider it yet.
                         */
-                       if (stream->prev_seq == -1ULL) {
-                               goto next;
+                       if (stream->is_metadata) {
+                               if (!stream->metadata_received) {
+                                       goto next;
+                               }
+                       } else {
+                               if (stream->prev_seq == -1ULL) {
+                                       goto next;
+                               }
                        }
                        vstream = viewer_stream_get_by_id(stream->stream_handle);
                        if (!vstream) {
@@ -1448,9 +1454,11 @@ send_reply:
        }
        health_code_update();
 
-       DBG("Index %" PRIu64 " for stream %" PRIu64 " sent",
-                       vstream->last_sent_index,
-                       vstream->stream->stream_handle);
+       if (vstream) {
+               DBG("Index %" PRIu64 " for stream %" PRIu64 " sent",
+                               vstream->last_sent_index,
+                               vstream->stream->stream_handle);
+       }
 end:
        if (metadata_viewer_stream) {
                viewer_stream_put(metadata_viewer_stream);
This page took 0.024928 seconds and 4 git commands to generate.