Fix: leak of event attributes on copy failure
[lttng-tools.git] / src / bin / lttng-sessiond / main.c
index 2c571c4a8dc38d379f8b675c7dc0c5a2636ec2c1..d8ea2c1a5b2640af24864c6d12d6c91c8dd78001 100644 (file)
@@ -3102,7 +3102,6 @@ static int process_client_msg(struct command_ctx *cmd_ctx, int sock,
        case LTTNG_UNREGISTER_TRIGGER:
        case LTTNG_ROTATE_SESSION:
        case LTTNG_ROTATION_GET_INFO:
-       case LTTNG_SESSION_GET_CURRENT_OUTPUT:
        case LTTNG_ROTATION_SET_SCHEDULE:
        case LTTNG_SESSION_LIST_ROTATION_SCHEDULES:
                need_domain = 0;
@@ -3684,6 +3683,9 @@ error_add_context:
                if (!ev) {
                        DBG("Failed to copy event: %s",
                                        cmd_ctx->lsm->u.enable.event.name);
+                       free(filter_expression);
+                       free(bytecode);
+                       free(exclusion);
                        ret = LTTNG_ERR_NOMEM;
                        goto error;
                }
@@ -3693,6 +3695,9 @@ error_add_context:
                        /* Expect a userspace probe description. */
                        ret = receive_userspace_probe(cmd_ctx, sock, sock_error, ev);
                        if (ret) {
+                               free(filter_expression);
+                               free(bytecode);
+                               free(exclusion);
                                lttng_event_destroy(ev);
                                goto error;
                        }
@@ -4324,28 +4329,6 @@ error_add_context:
                ret = LTTNG_OK;
                break;
        }
-       case LTTNG_SESSION_GET_CURRENT_OUTPUT:
-       {
-               struct lttng_session_get_current_output_return output_return;
-
-               memset(&output_return, 0, sizeof(output_return));
-               ret = cmd_session_get_current_output(cmd_ctx->session,
-                               &output_return);
-               if (ret < 0) {
-                       ret = -ret;
-                       goto error;
-               }
-
-               ret = setup_lttng_msg_no_cmd_header(cmd_ctx, &output_return,
-                               sizeof(output_return));
-               if (ret < 0) {
-                       ret = -ret;
-                       goto error;
-               }
-
-               ret = LTTNG_OK;
-               break;
-       }
        case LTTNG_ROTATION_SET_SCHEDULE:
        {
                bool set_schedule;
This page took 0.023486 seconds and 4 git commands to generate.