spacer: heap-use-after-free in on_control_window_changed
I am seeing a use-after-free when toggling between "Control maximized windows" and "Control active windows".
Backtrace
ERROR: AddressSanitizer: heap-use-after-free on address 0x7ce7ee835f20
READ of size 8 at 0x7ce7ee835f20 thread T0
#0 0x7f67f45adfc4 in g_type_check_instance_is_fundamentally_a glib/gobject/gtype.c:3915:41
#1 0x7f67f452c0ff in g_object_unref glib/gobject/gobject.c:4749:21
#2 0x7f67eeb7f270 in on_control_window_changed xfce4-windowck-plugin/panel-plugin/spacer/wckspacer-spacer.c:88:9
#3 0x7f67eeb859c9 in track_controlled_window xfce4-windowck-plugin/common/wck-utils.c:285:9
#4 0x7f67eeb841a7 in active_window_changed xfce4-windowck-plugin/common/wck-utils.c:326:9
[...snip...]
0x7ce7ee835f20 is located 672 bytes inside of 848-byte region [0x7ce7ee835c80,0x7ce7ee835fd0)
freed by thread T0 here:
#0 0x7f67f93853d1 in free
#1 0x7f67f8df71b8 in g_free_sized glib/glib/gmem.c:236:3
#2 0x7f67f4597f88 in g_type_free_instance glib/gobject/gtype.c:1979:5
#3 0x7f67f452cae2 in g_object_unref glib/gobject/gobject.c:4926:3
#4 0x7f67f76e40bf in gtk_menu_detach gtk3/gtk/gtkmenu.c:1672:3
#5 0x7f67eeb7f223 in on_control_window_changed xfce4-windowck-plugin/panel-plugin/spacer/wckspacer-spacer.c:87:9
#6 0x7f67eeb859c9 in track_controlled_window xfce4-windowck-plugin/common/wck-utils.c:285:9
#7 0x7f67eeb841a7 in active_window_changed xfce4-windowck-plugin/common/wck-utils.c:326:9
[...snip...]
previously allocated by thread T0 here:
#0 0x7f67f9386759 in calloc
#1 0x7f67f8df70fa in g_malloc0 glib/glib/gmem.c:133:13
#2 0x7f67f4596070 in g_type_create_instance glib/gobject/gtype.c:1882:17
#3 0x7f67f4530fbd in g_object_new_internal glib/gobject/gobject.c:2671:24
#4 0x7f67f4530247 in g_object_new_valist glib/gobject/gobject.c:3009:16
#5 0x7f67f452e6db in g_object_new glib/gobject/gobject.c:2484:12
#6 0x7f67eeb583c2 in xfw_window_action_menu_new libxfce4windowing/libxfce4windowingui/xfw-window-action-menu.c:604:12
#7 0x7f67eeb7f319 in on_control_window_changed xfce4-windowck-plugin/panel-plugin/spacer/wckspacer-spacer.c:93:21
#8 0x7f67eeb859c9 in track_controlled_window xfce4-windowck-plugin/common/wck-utils.c:285:9
#9 0x7f67eeb839f7 in init_wnck xfce4-windowck-plugin/common/wck-utils.c:404:5
#10 0x7f67eeb82b63 in reload_wnck xfce4-windowck-plugin/common/wck-utils.c:367:5
#11 0x7f67eeb7e9bc in reload_wnck_spacer xfce4-windowck-plugin/panel-plugin/spacer/wckspacer-spacer.c:58:5
#12 0x7f67eeb7e562 in on_only_maximized_toggled xfce4-windowck-plugin/panel-plugin/spacer/wckspacer-dialogs.c:34:5
[...snip...]Version info
44f00f14 compiled on Arch Linux