]> git.meshlink.io Git - meshlink/blobdiff - src/event.c
Only add confirmed reflexive UDP addresses to ANS_KEY messages.
[meshlink] / src / event.c
index aed423ad9b3c29b691c379129aa8047f08692d9a..3c2306bd2d8f8d51657a9710fc9b128e72241ee0 100644 (file)
@@ -71,7 +71,8 @@ void io_add(event_loop_t *loop, io_t *io, io_cb_t cb, void *data, int fd, int fl
 
        io_set(loop, io, flags);
 
-       assert(splay_insert_node(&loop->ios, &io->node));
+       splay_node_t *node = splay_insert_node(&loop->ios, &io->node);
+       assert(node);
 }
 
 void io_set(event_loop_t *loop, io_t *io, int flags) {
@@ -174,8 +175,12 @@ static void signalio_handler(event_loop_t *loop, void *data, int flags) {
 }
 
 static void pipe_init(event_loop_t *loop) {
-       assert(pipe(loop->pipefd) == 0);
-       io_add(loop, &loop->signalio, signalio_handler, NULL, loop->pipefd[0], IO_READ);
+       int result = pipe(loop->pipefd);
+       assert(result == 0);
+
+       if(result == 0) {
+               io_add(loop, &loop->signalio, signalio_handler, NULL, loop->pipefd[0], IO_READ);
+       }
 }
 
 static void pipe_exit(event_loop_t *loop) {