Fix: sessiond: ODR violation results in memory corruption
[lttng-tools.git] / tests / regression / tools / live / live_test.cpp
index 439d862d4b0fbbaf117dd2fa0be3fffa5699b9c6..559b9a7b1e8298885ae574090a26683e6058eb82 100644 (file)
 LTTNG_EXPORT DEFINE_LTTNG_UST_SIGBUS_STATE();
 #endif
 
-static int control_sock;
+namespace {
 struct live_session *session;
+int control_sock;
 
-static int first_packet_offset;
-static int first_packet_len;
-static int first_packet_stream_id = -1;
+int first_packet_offset;
+int first_packet_len;
+int first_packet_stream_id = -1;
 
 struct viewer_stream {
        uint64_t id;
@@ -68,6 +69,7 @@ struct live_session {
        uint64_t live_timer_interval;
        uint64_t stream_count;
 };
+} /* namespace */
 
 static
 ssize_t lttng_live_recv(int fd, void *buf, size_t len)
@@ -285,7 +287,7 @@ int attach_session(uint64_t id)
        int i;
        ssize_t ret_len;
 
-       session = (live_session *) zmalloc(sizeof(struct live_session));
+       session = zmalloc<live_session>();
        if (!session) {
                goto error;
        }
@@ -327,8 +329,7 @@ int attach_session(uint64_t id)
                diag("Got session stream count == 0");
                goto error;
        }
-       session->streams = (viewer_stream *) zmalloc(session->stream_count *
-                       sizeof(struct viewer_stream));
+       session->streams = calloc<viewer_stream>(session->stream_count);
        if (!session->streams) {
                goto error;
        }
@@ -436,7 +437,7 @@ retry:
                goto error;
        }
 
-       data = (char *) zmalloc(len);
+       data = calloc<char>(len);
        if (!data) {
                PERROR("relay data zmalloc");
                goto error;
This page took 0.023648 seconds and 4 git commands to generate.