diff options
Diffstat (limited to 'sway')
-rw-r--r-- | sway/ipc.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -82,14 +82,20 @@ void ipc_terminate(void) { struct sockaddr_un *ipc_user_sockaddr(void) { struct sockaddr_un *ipc_sockaddr = malloc(sizeof(struct sockaddr_un)); - assert(ipc_sockaddr != NULL); + if (!sway_assert(ipc_sockaddr != NULL, "can't malloc ipc_sockaddr")) { + return NULL; + } ipc_sockaddr->sun_family = AF_UNIX; int path_size = sizeof(ipc_sockaddr->sun_path); // Without logind: - assert(snprintf(ipc_sockaddr->sun_path, path_size, "/tmp/sway-ipc.%i.sock", getuid()) < path_size); + int allocating_path_size = snprintf(ipc_sockaddr->sun_path, path_size, "/tmp/sway-ipc.%i.sock", getuid()); + + if (!sway_assert(allocating_path_size < path_size, "socket path won't fit into ipc_sockaddr->sun_path")) { + return NULL; + } return ipc_sockaddr; } |