Fix: test_kernel_data dereference of null pointer
[lttng-tools.git] / tests / unit / test_kernel_data.c
index e2182e9262bfccf82c94c3dc5a2fcbe854fb30d2..6a35ea54a602489df1d35df9995a6f6cad5f8a14 100644 (file)
@@ -16,7 +16,6 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
-#define _GNU_SOURCE
 #include <assert.h>
 #include <errno.h>
 #include <stdio.h>
 #define RANDOM_STRING_LEN      11
 
 /* Number of TAP tests in this file */
-#define NUM_TESTS 10
+#define NUM_TESTS 11
 
 /* For error.h */
 int lttng_opt_quiet = 1;
 int lttng_opt_verbose;
+int lttng_opt_mi;
 
 int ust_consumerd32_fd;
 int ust_consumerd64_fd;
@@ -72,6 +72,10 @@ static void test_create_one_kernel_session(void)
        kern = trace_kernel_create_session();
        ok(kern != NULL, "Create kernel session");
 
+       if (!kern) {
+               skip(1, "Kernel session is null");
+               return;
+       }
        ok(kern->fd == -1 &&
           kern->metadata_stream_fd == -1 &&
           kern->consumer_fds_sent == 0 &&
@@ -117,10 +121,14 @@ static void test_create_kernel_channel(void)
        chan = trace_kernel_create_channel(&attr);
        ok(chan != NULL, "Create kernel channel");
 
+       if (!chan) {
+               skip(1, "Channel is null");
+               return;
+       }
+
        ok(chan->fd == -1 &&
           chan->enabled == 1 &&
           chan->stream_count == 0 &&
-          chan->ctx == NULL &&
           chan->channel->attr.overwrite  == attr.attr.overwrite,
           "Validate kernel channel");
 
@@ -135,13 +143,20 @@ static void test_create_kernel_event(void)
        struct lttng_event ev;
 
        memset(&ev, 0, sizeof(ev));
-       strncpy(ev.name, get_random_string(), LTTNG_KERNEL_SYM_NAME_LEN);
+       ok(!lttng_strncpy(ev.name, get_random_string(),
+                       LTTNG_KERNEL_SYM_NAME_LEN),
+               "Validate string length");
        ev.type = LTTNG_EVENT_TRACEPOINT;
        ev.loglevel_type = LTTNG_EVENT_LOGLEVEL_ALL;
 
-       event = trace_kernel_create_event(&ev);
+       event = trace_kernel_create_event(&ev, NULL, NULL);
        ok(event != NULL, "Create kernel event");
 
+       if (!event) {
+               skip(1, "Event is null");
+               return;
+       }
+
        ok(event->fd == -1 &&
           event->enabled == 1 &&
           event->event->instrumentation == LTTNG_KERNEL_TRACEPOINT &&
@@ -160,6 +175,11 @@ static void test_create_kernel_stream(void)
        stream = trace_kernel_create_stream("stream1", 0);
        ok(stream != NULL, "Create kernel stream");
 
+       if (!stream) {
+               skip(1, "Stream is null");
+               return;
+       }
+
        ok(stream->fd == -1 &&
           stream->state == 0,
           "Validate kernel stream");
This page took 0.024346 seconds and 4 git commands to generate.