Fix: session-descriptor.c: Dereference before null check
[lttng-tools.git] / src / common / session-descriptor.c
index b5fdb0677f8153d00e1c8517f16816e9e02dbb69..6dea5ee7c09de528ed998113f64502f7748ea75e 100644 (file)
@@ -522,6 +522,10 @@ _lttng_session_descriptor_live_network_create(
 
        descriptor = _lttng_session_descriptor_live_create(name,
                        live_timer_interval_us);
+       if (!descriptor) {
+               goto error;
+       }
+
        descriptor->base.output_type =
                        LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK;
 
@@ -550,14 +554,8 @@ lttng_session_descriptor_live_create(
        struct lttng_session_descriptor_live *descriptor;
 
        descriptor = _lttng_session_descriptor_live_create(name, live_timer_us);
-       if (!descriptor) {
-               goto error;
-       }
 
        return descriptor ? &descriptor->base : NULL;
-error:
-       lttng_session_descriptor_destroy(descriptor ? &descriptor->base : NULL);
-       return NULL;
 }
 
 struct lttng_session_descriptor *
@@ -1186,8 +1184,12 @@ int lttng_session_descriptor_get_base_path(struct lttng_session_descriptor *dst,
        switch (dst->output_type) {
        case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_NETWORK:
        {
-               *_base_path = dst->output.network.control->subdir[0] ?
-                               dst->output.network.control->subdir : NULL;
+               if (dst->output.network.control &&
+                               dst->output.network.control->subdir[0]) {
+                       *_base_path = dst->output.network.control->subdir;
+               } else {
+                       *_base_path = NULL;
+               }
                break;
        }
        case LTTNG_SESSION_DESCRIPTOR_OUTPUT_TYPE_LOCAL:
This page took 0.024871 seconds and 4 git commands to generate.