[lttng-dev] [PATCH lttng-tools 1/1] Fix: sessiond: handle NULL control output in session descriptor base path getter
Jérémie Galarneau
jeremie.galarneau at efficios.com
Fri Sep 6 11:36:26 EDT 2019
Merged in master and stable-2.11. Thanks!
Jérémie
On Thu, Sep 05, 2019 at 03:18:40PM -0400, Mathieu Desnoyers wrote:
> Creating a session with "lttng create --live" without specifying any
> URL triggers a NULL pointer exception because the output is not set
A NullPointerException, in C?! ;-)
> 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