]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
CLI socket accept() may also fail and should produce some message, not a coredump.
authorMaria Matejka <mq@jmq.cz>
Tue, 7 Sep 2021 16:22:32 +0000 (16:22 +0000)
committerMaria Matejka <mq@ucw.cz>
Wed, 13 Oct 2021 17:00:36 +0000 (19:00 +0200)
sysdep/unix/main.c

index 392aff9d8755208f58a709371ecc825d4ae057f6..cdf0a3101bb3afb2488d322548b4ee9621a17923 100644 (file)
@@ -479,6 +479,14 @@ cli_err(sock *s, int err)
   cli_free(s->data);
 }
 
+static void
+cli_connect_err(sock *s UNUSED, int err)
+{
+  ASSERT_DIE(err);
+  if (config->cli_debug)
+    log(L_INFO "Failed to accept CLI connection: %s", strerror(err));
+}
+
 static int
 cli_connect(sock *s, uint size UNUSED)
 {
@@ -507,6 +515,7 @@ cli_init_unix(uid_t use_uid, gid_t use_gid)
   s = cli_sk = sk_new(cli_pool);
   s->type = SK_UNIX_PASSIVE;
   s->rx_hook = cli_connect;
+  s->err_hook = cli_connect_err;
   s->rbsize = 1024;
   s->fast_rx = 1;