Fix: kernel metadata data leak in error path
[lttng-tools.git] / src / bin / lttng-sessiond / kernel.c
index 856d4231004b02c558ea32f7cc86a7e315734331..2c6d1e8c335c887118711acafaeccf488bdd8cba 100644 (file)
@@ -353,7 +353,7 @@ error:
 int kernel_open_metadata(struct ltt_kernel_session *session)
 {
        int ret;
-       struct ltt_kernel_metadata *lkm;
+       struct ltt_kernel_metadata *lkm = NULL;
 
        assert(session);
 
@@ -366,7 +366,7 @@ int kernel_open_metadata(struct ltt_kernel_session *session)
        /* Kernel tracer metadata creation */
        ret = kernctl_open_metadata(session->fd, &lkm->conf->attr);
        if (ret < 0) {
-               goto error;
+               goto error_open;
        }
 
        lkm->fd = ret;
@@ -382,6 +382,8 @@ int kernel_open_metadata(struct ltt_kernel_session *session)
 
        return 0;
 
+error_open:
+       trace_kernel_destroy_metadata(lkm);
 error:
        return -1;
 }
This page took 0.025993 seconds and 5 git commands to generate.