X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Flib%2Flttng-ctl%2Flttng-ctl.c;h=536d41baa2bc4848b334405afa598a210dc5422e;hp=01572dc94dc2aa873d58ece215734a0ffcb8485c;hb=c7e35b037773dbbfe10178c946ba44feefb226e1;hpb=6a556f7b1ed1560da4e4e190ef6989670ddb8938 diff --git a/src/lib/lttng-ctl/lttng-ctl.c b/src/lib/lttng-ctl/lttng-ctl.c index 01572dc94..536d41baa 100644 --- a/src/lib/lttng-ctl/lttng-ctl.c +++ b/src/lib/lttng-ctl/lttng-ctl.c @@ -74,6 +74,7 @@ static int connected; */ int lttng_opt_quiet; int lttng_opt_verbose; +int lttng_opt_mi; /* * Copy string from src to dst and enforce null terminated byte. @@ -851,7 +852,6 @@ static int generate_filter(char *filter_expression, return 0; parse_error: - filter_bytecode_free(ctx); filter_ir_free(ctx); filter_parser_ctx_free(ctx); filter_alloc_error: @@ -974,7 +974,7 @@ int lttng_enable_event_with_exclusions(struct lttng_handle *handle, + LTTNG_SYMBOL_NAME_LEN * exclusion_count); if (!varlen_data) { ret = -LTTNG_ERR_EXCLUSION_NOMEM; - goto filter_error; + goto mem_error; } /* Put exclusion names first in the data */ @@ -1003,19 +1003,19 @@ int lttng_enable_event_with_exclusions(struct lttng_handle *handle, lsm.u.enable.bytecode_len + lsm.u.enable.expression_len, NULL); free(varlen_data); -filter_error: - if (filter_expression) { +mem_error: + if (filter_expression && ctx) { filter_bytecode_free(ctx); filter_ir_free(ctx); filter_parser_ctx_free(ctx); - if (free_filter_expression) { - /* - * The filter expression has been replaced and must be - * freed as it is not the original filter expression - * received as a parameter. - */ - free(filter_expression); - } + } +filter_error: + if (free_filter_expression) { + /* + * The filter expression has been replaced and must be freed as it is + * not the original filter expression received as a parameter. + */ + free(filter_expression); } error: /*