Creating a session with "lttng create --live" without specifying any
URL triggers a SEGFAULT (dereferencing a NULL pointer) because the
output is not set when getting the session descriptor base path.
Indeed, the destination output URL will only be set later in
cmd_create_session_from_descriptor(), when setting the default output.
When the default output is used, no base path override is possible,
therefore it is fine to assign the base_path to NULL in the base path
getter.
Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
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: