[lttng-dev] [PATCH lttng-tools 1/1] Fix: sessiond: handle NULL control output in session descriptor base path getter
Mathieu Desnoyers
mathieu.desnoyers at efficios.com
Thu Sep 5 15:18:40 EDT 2019
Creating a session with "lttng create --live" without specifying any
URL triggers a NULL pointer exception 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 at efficios.com>
---
src/common/session-descriptor.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/src/common/session-descriptor.c b/src/common/session-descriptor.c
index b5fdb067..208eb46f 100644
--- a/src/common/session-descriptor.c
+++ b/src/common/session-descriptor.c
@@ -1186,8 +1186,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:
--
2.11.0
More information about the lttng-dev
mailing list