From 407c34e735b5d17e2be574808a09e6d729b0a45a Mon Sep 17 00:00:00 2001 From: Richard Scheffenegger Date: Fri, 25 Feb 2022 20:56:31 +0100 Subject: [PATCH] iscsi: retrieve global login timeout from sysctlbyname() as integer The OID "kern.iscsi.login_timeout" references an integer and not a string. Sponsored by: NetApp, Inc. Differential Revision: https://reviews.freebsd.org/D34380 --- usr.sbin/iscsid/iscsid.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/usr.sbin/iscsid/iscsid.c b/usr.sbin/iscsid/iscsid.c index ebfcfa34dd6d..d08a11c90eeb 100644 --- a/usr.sbin/iscsid/iscsid.c +++ b/usr.sbin/iscsid/iscsid.c @@ -397,12 +397,14 @@ connection_new(int iscsi_fd, const struct iscsi_daemon_request *request) keepinit); } if (conn->conn_conf.isc_login_timeout == -1) { - char value[8]; + int value; size_t size = sizeof(value); - sysctlbyname("kern.iscsi.login_timeout", &value, &size, - NULL, 0); - keepinit = strtol(value, NULL, 10); - log_debugx("global login_timeout at %d sec", keepinit); + if (sysctlbyname("kern.iscsi.login_timeout", + &value, &size, NULL, 0) == 0) { + keepinit = value; + log_debugx("global login_timeout at %d sec", + keepinit); + } } if (keepinit > 0) { if (setsockopt(conn->conn.conn_socket,