Fix: lttng-ctl: lttng_list_sessions: initialize out_sessions to NULL when returning 0
[lttng-tools.git] / src / lib / lttng-ctl / lttng-ctl.cpp
index 63841df403f249d5aeb681ce81a0ec671b7d4242..b7eaee2602bc10540fd5d9902f0781888de0c33a 100644 (file)
@@ -2102,6 +2102,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;
@@ -2114,7 +2120,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.023699 seconds and 4 git commands to generate.