X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Flttng-ctl.cpp;fp=src%2Flib%2Flttng-ctl%2Flttng-ctl.cpp;h=96ed7b41b8abc5f5afc60a6b20de84950c1445ca;hp=22823d344bd1d556a3248ab63c0f093cd7cd7ac7;hb=d93bbc2a50cd24ea2837d8710c99b71b5d1a5f11;hpb=07a5d4b54470787744777d4cf93eaaad8f4612cc diff --git a/src/lib/lttng-ctl/lttng-ctl.cpp b/src/lib/lttng-ctl/lttng-ctl.cpp index 22823d344..96ed7b41b 100644 --- a/src/lib/lttng-ctl/lttng-ctl.cpp +++ b/src/lib/lttng-ctl/lttng-ctl.cpp @@ -24,6 +24,7 @@ #include #include #include +#include #include #include #include @@ -2882,28 +2883,27 @@ end: * * Sets the value of the argument */ -enum lttng_error_code lttng_get_kernel_tracer_status(enum lttng_kernel_tracer_status *status) +enum lttng_error_code lttng_get_kernel_tracer_status(enum lttng_kernel_tracer_status *out_status) { - enum lttng_error_code ret = LTTNG_ERR_INVALID; - - if (status == nullptr) { + if (out_status == nullptr) { return LTTNG_ERR_INVALID; } struct lttcomm_session_msg lsm = {}; lsm.cmd_type = LTTCOMM_SESSIOND_COMMAND_KERNEL_TRACER_STATUS; - uint32_t *u_status = nullptr; - const auto ask_ret = lttng_ctl_ask_sessiond(&lsm, (void **) &u_status); + uint32_t *raw_tracer_status = nullptr; + const auto ask_ret = lttng_ctl_ask_sessiond(&lsm, (void **) &raw_tracer_status); + + const auto tracer_status = + lttng::make_unique_wrapper(raw_tracer_status); + if (ask_ret != 4) { - goto end; + return LTTNG_ERR_INVALID; } - *status = (enum lttng_kernel_tracer_status) * u_status; - ret = LTTNG_OK; -end: - free(u_status); - return ret; + *out_status = (enum lttng_kernel_tracer_status) * tracer_status; + return LTTNG_OK; } /*