1
0
mirror of https://github.com/weechat/weechat.git synced 2026-07-03 00:03:12 +02:00

gui: fix use after free bug in /filter del (issue #1309)

Deleting (freeing) a filter also frees its buffers, so refilter must
happen before freeing. Disabling the filter temporarily fixes the bug.

This fix disables the filter before filter_removing signal, though.
This commit is contained in:
Simmo Saan
2019-02-21 16:15:58 +02:00
parent 91936ff583
commit 8ac4a75969
+2 -1
View File
@@ -2399,8 +2399,9 @@ COMMAND_CALLBACK(filter)
ptr_filter = gui_filter_search_by_name (argv[2]);
if (ptr_filter)
{
ptr_filter->enabled = 0; // disable before refilter
gui_filter_all_buffers (ptr_filter); // refilter before free
gui_filter_free (ptr_filter);
gui_filter_all_buffers (ptr_filter);
gui_chat_printf_date_tags (NULL, 0, GUI_FILTER_TAG_NO_FILTER,
_("Filter \"%s\" deleted"),
argv[2]);