Fix: lttng-ctl: lttng_list_sessions: initialize out_sessions to NULL when returning 0
[lttng-tools.git] / src / lib / lttng-ctl / lttng-ctl.c
index 6c9ecb9baf6200208ed846fac34319b7f0688001..ff40ee3e729305b3eb3e0e8bb1e942ca12019efc 100644 (file)
@@ -2074,6 +2074,12 @@ int lttng_list_sessions(struct lttng_session **out_sessions)
 
        memset(&lsm, 0, sizeof(lsm));
        lsm.cmd_type = LTTNG_LIST_SESSIONS;
+       /*
+        * Initialize out_sessions to NULL so it is initialized when
+        * lttng_list_sessions returns 0, thus allowing *out_sessions to
+        * be subsequently freed.
+        */
+       *out_sessions = NULL;
        ret = lttng_ctl_ask_sessiond(&lsm, (void**) &sessions);
        if (ret <= 0) {
                goto end;
@@ -2086,7 +2092,6 @@ int lttng_list_sessions(struct lttng_session **out_sessions)
        if (ret % session_size) {
                ret = -LTTNG_ERR_UNK;
                free(sessions);
-               *out_sessions = NULL;
                goto end;
        }
        session_count = (size_t) ret / session_size;
This page took 0.025046 seconds and 5 git commands to generate.