prev_ioloop = current_ioloop;
i_zero(&cctx);
+ cctx.pool = pool_alloconly_create("doveadm cmd", 256);
cctx.conn_type = conn->conn.type;
cctx.input = req->input;
cctx.output = req->output;
doveadm_http_server_json_success(req, is);
}
i_stream_unref(&is);
+ pool_unref(&cctx.pool);
}
static int
struct doveadm_cmd_context cctx;
i_zero(&cctx);
+ cctx.pool = pool_alloconly_create("doveadm cmd", 256);
cctx.conn_type = conn->conn.type;
cctx.input = conn->input;
cctx.output = conn->output;
cctx.remote_ip = conn->conn.remote_ip;
cctx.local_port = conn->conn.local_port;
cctx.remote_port = conn->conn.remote_port;
- return client_handle_command_ctx(conn, &cctx, args);
+ bool ret = client_handle_command_ctx(conn, &cctx, args);
+ pool_unref(&cctx.pool);
+ return ret;
}
static int
struct doveadm_cmd_context {
const struct doveadm_cmd_ver2 *cmd; /* for help */
+ pool_t pool;
int argc;
const struct doveadm_cmd_param *argv;
int c;
i_zero(&cctx);
+ cctx.pool = pool_alloconly_create("doveadm cmd", 256);
cctx.conn_type = DOVEADM_CONNECTION_TYPE_CLI;
i_set_failure_exit_callback(failure_exit_callback);
}
if (cctx.referral != NULL)
i_fatal("Command requested referral: %s", cctx.referral);
+ pool_unref(&cctx.pool);
if (!quick_init) {
doveadm_mail_deinit();