mirror of
https://github.com/NickHu/sway
synced 2024-12-28 22:23:30 +01:00
b0918b1058
wl_event_source_remove() is illegal after display has been destroyed, so just destroy everything when we still can. ==20392==ERROR: AddressSanitizer: heap-use-after-free on address 0x607000001240 at pc 0x00000048e86e bp 0x7ffe4b557e00 sp 0x7ffe4b557df0 READ of size 8 at 0x607000001240 thread T0 #0 0x48e86d in wl_list_insert ../common/list.c:149 #1 0x7fdf673d4d7d in wl_event_source_remove src/event-loop.c:487 #2 0x41b742 in ipc_terminate ../sway/ipc-server.c:94 #3 0x40b1ad in main ../sway/main.c:440 #4 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308 #5 0x409359 in _start (/opt/wayland/bin/sway+0x409359) 0x607000001240 is located 48 bytes inside of 72-byte region [0x607000001210,0x607000001258) freed by thread T0 here: #0 0x7fdf692c4880 in __interceptor_free (/lib64/libasan.so.5+0xee880) #1 0x7fdf673d371a in wl_display_destroy src/wayland-server.c:1097 previously allocated by thread T0 here: #0 0x7fdf692c4c48 in malloc (/lib64/libasan.so.5+0xeec48) #1 0x7fdf673d4d9e in wl_event_loop_create src/event-loop.c:522 #2 0x40acb2 in main ../sway/main.c:363 #3 0x7fdf6664c18a in __libc_start_main ../csu/libc-start.c:308
20 lines
547 B
C
20 lines
547 B
C
#ifndef _SWAY_IPC_SERVER_H
|
|
#define _SWAY_IPC_SERVER_H
|
|
#include <sys/socket.h>
|
|
#include "sway/config.h"
|
|
#include "sway/tree/container.h"
|
|
#include "ipc.h"
|
|
|
|
struct sway_server;
|
|
|
|
void ipc_init(struct sway_server *server);
|
|
|
|
struct sockaddr_un *ipc_user_sockaddr(void);
|
|
|
|
void ipc_event_workspace(struct sway_container *old,
|
|
struct sway_container *new, const char *change);
|
|
void ipc_event_window(struct sway_container *window, const char *change);
|
|
void ipc_event_barconfig_update(struct bar_config *bar);
|
|
void ipc_event_mode(const char *mode);
|
|
|
|
#endif
|