mirror of
https://github.com/weechat/weechat.git
synced 2026-07-05 01:03:14 +02:00
core: add limits for buffers (max 10000 buffers opened, number of a buffer: between 1 and INT_MAX - 10000)
This commit is contained in:
@@ -492,6 +492,16 @@ gui_buffer_new (struct t_weechat_plugin *plugin,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (gui_buffers_count >= GUI_BUFFERS_MAX)
|
||||
{
|
||||
gui_chat_printf (NULL,
|
||||
_("%sError: maximum number of buffers is reached "
|
||||
"(%d)"),
|
||||
gui_chat_prefix[GUI_CHAT_PREFIX_ERROR],
|
||||
GUI_BUFFERS_MAX);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* create new buffer */
|
||||
new_buffer = malloc (sizeof (*new_buffer));
|
||||
if (!new_buffer)
|
||||
@@ -2611,6 +2621,8 @@ gui_buffer_renumber (int number1, int number2, int start_number)
|
||||
|
||||
if (start_number < 1)
|
||||
start_number = ptr_first_buffer->number;
|
||||
else if (start_number > GUI_BUFFER_NUMBER_MAX)
|
||||
start_number = GUI_BUFFER_NUMBER_MAX;
|
||||
|
||||
/* the start number must be greater than buffer before first buffer */
|
||||
if (ptr_first_buffer->prev_buffer
|
||||
@@ -2676,6 +2688,9 @@ gui_buffer_move_to_number (struct t_gui_buffer *buffer, int number)
|
||||
if (number < 1)
|
||||
number = 1;
|
||||
|
||||
if (number > GUI_BUFFER_NUMBER_MAX)
|
||||
number = GUI_BUFFER_NUMBER_MAX;
|
||||
|
||||
/* buffer number is already OK ? */
|
||||
if (number == buffer->number)
|
||||
return;
|
||||
@@ -2998,6 +3013,9 @@ gui_buffer_unmerge (struct t_gui_buffer *buffer, int number)
|
||||
|
||||
ptr_new_active_buffer = NULL;
|
||||
|
||||
if (number > GUI_BUFFER_NUMBER_MAX)
|
||||
number = GUI_BUFFER_NUMBER_MAX;
|
||||
|
||||
/* by default, we move buffer to buffer->number + 1 */
|
||||
if ((number < 1) || (number == buffer->number))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user