diff options
-rw-r--r-- | sway/ipc.c | 10 |
1 files changed, 8 insertions, 2 deletions
@@ -82,14 +82,20 @@ void ipc_terminate(void) { | |||
82 | 82 | ||
83 | struct sockaddr_un *ipc_user_sockaddr(void) { | 83 | struct sockaddr_un *ipc_user_sockaddr(void) { |
84 | struct sockaddr_un *ipc_sockaddr = malloc(sizeof(struct sockaddr_un)); | 84 | struct sockaddr_un *ipc_sockaddr = malloc(sizeof(struct sockaddr_un)); |
85 | assert(ipc_sockaddr != NULL); | 85 | if (!sway_assert(ipc_sockaddr != NULL, "can't malloc ipc_sockaddr")) { |
86 | return NULL; | ||
87 | } | ||
86 | 88 | ||
87 | ipc_sockaddr->sun_family = AF_UNIX; | 89 | ipc_sockaddr->sun_family = AF_UNIX; |
88 | 90 | ||
89 | int path_size = sizeof(ipc_sockaddr->sun_path); | 91 | int path_size = sizeof(ipc_sockaddr->sun_path); |
90 | 92 | ||
91 | // Without logind: | 93 | // Without logind: |
92 | assert(snprintf(ipc_sockaddr->sun_path, path_size, "/tmp/sway-ipc.%i.sock", getuid()) < path_size); | 94 | int allocating_path_size = snprintf(ipc_sockaddr->sun_path, path_size, "/tmp/sway-ipc.%i.sock", getuid()); |
95 | |||
96 | if (!sway_assert(allocating_path_size < path_size, "socket path won't fit into ipc_sockaddr->sun_path")) { | ||
97 | return NULL; | ||
98 | } | ||
93 | 99 | ||
94 | return ipc_sockaddr; | 100 | return ipc_sockaddr; |
95 | } | 101 | } |