git: ab3c59a107c5 - main - rpc.tlsservd: Check for a tls syscall failure.

From: Rick Macklem <rmacklem_at_FreeBSD.org>
Date: Thu, 22 Dec 2022 17:11:27 UTC
The branch main has been updated by rmacklem:

URL: https://cgit.FreeBSD.org/src/commit/?id=ab3c59a107c56d4304b6ba2c36116b87a0122b4f

commit ab3c59a107c56d4304b6ba2c36116b87a0122b4f
Author:     Rick Macklem <rmacklem@FreeBSD.org>
AuthorDate: 2022-12-22 17:10:27 +0000
Commit:     Rick Macklem <rmacklem@FreeBSD.org>
CommitDate: 2022-12-22 17:10:27 +0000

    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();