From ab3c59a107c56d4304b6ba2c36116b87a0122b4f Mon Sep 17 00:00:00 2001 From: Rick Macklem Date: Thu, 22 Dec 2022 09:10:27 -0800 Subject: [PATCH] rpc.tlsservd: Check for a tls syscall failure. Although the tls syscall to set up the upcall should not normally fail, the daemon should check for such a failure. This patch adds a check for that failure. MFC after: 1 week --- usr.sbin/rpc.tlsservd/rpc.tlsservd.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c index 2d520ac8e3d1..376f23c4950c 100644 --- a/usr.sbin/rpc.tlsservd/rpc.tlsservd.c +++ b/usr.sbin/rpc.tlsservd/rpc.tlsservd.c @@ -402,7 +402,16 @@ main(int argc, char **argv) rpctls_gothup = false; LIST_INIT(&rpctls_ssllist); - rpctls_syscall(RPCTLS_SYSC_SRVSETPATH, rpctls_sockname[mypos]); + if (rpctls_syscall(RPCTLS_SYSC_SRVSETPATH, rpctls_sockname[mypos]) < 0){ + if (rpctls_debug_level == 0) { + syslog(LOG_ERR, + "Can't set upcall socket path=%s errno=%d", + rpctls_sockname[mypos], errno); + exit(1); + } + err(1, "Can't set upcall socket path=%s", + rpctls_sockname[mypos]); + } rpctls_svc_run();