diff --git a/include/ircd/m/room/members.h b/include/ircd/m/room/members.h index 7dc6a3a33..31fe49fce 100644 --- a/include/ircd/m/room/members.h +++ b/include/ircd/m/room/members.h @@ -11,6 +11,11 @@ #pragma once #define HAVE_IRCD_M_ROOM_MEMBERS_H +namespace ircd::m +{ + constexpr size_t MEMBERSHIP_MAX_SIZE {16}; +} + /// Interface to the members of a room. /// /// This interface focuses specifically on room membership and its routines diff --git a/modules/client/rooms/forget.cc b/modules/client/rooms/forget.cc index 1dfcc0b8c..b1f02e96c 100644 --- a/modules/client/rooms/forget.cc +++ b/modules/client/rooms/forget.cc @@ -39,13 +39,13 @@ post__forget(client &client, string_view{room_id} }; - char room_membuf[32]; + char room_membuf[m::MEMBERSHIP_MAX_SIZE]; const string_view &room_membership { room.membership(room_membuf, request.user_id) }; - char user_membuf[32]; + char user_membuf[m::MEMBERSHIP_MAX_SIZE]; string_view user_membership; m::get(std::nothrow, event_idx, "content", [&user_membuf, &user_membership] (const json::object &content) diff --git a/modules/client/rooms/initialsync.cc b/modules/client/rooms/initialsync.cc index c6471aaad..4f72ec2bd 100644 --- a/modules/client/rooms/initialsync.cc +++ b/modules/client/rooms/initialsync.cc @@ -90,7 +90,7 @@ get__initialsync_local(client &client, const m::user &user, json::stack::object &out) { - char membership_buf[32]; + char membership_buf[m::MEMBERSHIP_MAX_SIZE]; json::stack::member { out, "membership", room.membership(membership_buf, request.user_id) diff --git a/modules/client/sync/rooms.cc b/modules/client/sync/rooms.cc index 7a7b1ec91..660daea23 100644 --- a/modules/client/sync/rooms.cc +++ b/modules/client/sync/rooms.cc @@ -53,7 +53,7 @@ ircd::m::sync::rooms_linear(data &data) data.room, &room }; - char membuf[32]; + char membuf[MEMBERSHIP_MAX_SIZE]; const string_view &membership { data.room? @@ -196,7 +196,7 @@ ircd::m::sync::_rooms_polylog(data &data, } #if defined(RB_DEBUG) - thread_local char tmbuf[32]; + thread_local char tmbuf[MEMBERSHIP_MAX_SIZE]; if(data.stats && rooms.stats_debug) log::debug { log, "polylog %s %s %s in %s", diff --git a/modules/client/sync/rooms/account_data.cc b/modules/client/sync/rooms/account_data.cc index 659a0bbd7..58f9a2b75 100644 --- a/modules/client/sync/rooms/account_data.cc +++ b/modules/client/sync/rooms/account_data.cc @@ -88,7 +88,7 @@ ircd::m::sync::room_account_data_linear_events(data &data, lstrip(json::get<"type"_>(event), type.first) }; - char membuf[32]; + char membuf[MEMBERSHIP_MAX_SIZE]; const auto membership { room.membership(membuf, data.user) @@ -150,7 +150,7 @@ ircd::m::sync::room_account_data_linear_tags(data &data, lstrip(json::get<"type"_>(event), type.first) }; - char membuf[32]; + char membuf[MEMBERSHIP_MAX_SIZE]; const auto membership { room.membership(membuf, data.user) diff --git a/modules/federation/make_leave.cc b/modules/federation/make_leave.cc index 10c283db4..c74ea6d55 100644 --- a/modules/federation/make_leave.cc +++ b/modules/federation/make_leave.cc @@ -72,7 +72,7 @@ get__make_leave(client &client, room_id }; - char membuf[32]; + char membuf[m::MEMBERSHIP_MAX_SIZE]; const string_view membership { room.membership(membuf, user_id) diff --git a/modules/m_room_history_visibility.cc b/modules/m_room_history_visibility.cc index 3675ebb7c..f4001b5d8 100644 --- a/modules/m_room_history_visibility.cc +++ b/modules/m_room_history_visibility.cc @@ -22,7 +22,7 @@ _visible_(const m::event &event, const m::room &room, const string_view &history_visibility) { - char membership_buf[32]; + char membership_buf[m::MEMBERSHIP_MAX_SIZE]; string_view membership { room.membership(membership_buf, user_id)