Fix: kernel context memory leak on error
[lttng-tools.git] / src / bin / lttng-sessiond / context.c
index 10352d026952ec3361acccf6aa07ac97bab4b34f..2cc6a30a84fd5d0e93566261c3c462d1f61bba55 100644 (file)
@@ -198,7 +198,8 @@ int context_kernel_add(struct ltt_kernel_session *ksession,
                kctx->ctx.ctx = LTTNG_KERNEL_CONTEXT_PERF_CPU_COUNTER;
                break;
        default:
-               return LTTNG_ERR_KERN_CONTEXT_FAIL;
+               ret = LTTNG_ERR_KERN_CONTEXT_FAIL;
+               goto error;
        }
 
        kctx->ctx.u.perf_counter.type = ctx->u.perf_counter.type;
@@ -226,9 +227,12 @@ int context_kernel_add(struct ltt_kernel_session *ksession,
                }
        }
 
-       ret = LTTNG_OK;
+       return LTTNG_OK;
 
 error:
+       if (kctx) {
+               trace_kernel_destroy_context(kctx);
+       }
        return ret;
 }
 
This page took 0.022724 seconds and 4 git commands to generate.