From nobody Mon Aug 3 14:30:41 2026 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4hDJxZ40tLz6nVDy for ; Mon, 03 Aug 2026 14:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "YR1" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hDJxZ0HC1z3syd for ; Mon, 03 Aug 2026 14:30:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785767442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6YGFwfg5qLRVIb0HwqaP5XtsQ1KJoPvPpMfSYQWHe4Y=; b=GLp0C0ev5giNFwERWfae25WjC7ueO5qmWr4ZBfkeY2KGLBRYyuv7b59FVgYmcdNhkkrbJ0 a3Pwg8YwvVa8bH6Tie5O6kq6w/bNfbkqq9T2M1lvGlSuRmgqb2Ayqrwca3NZwW0v256r3O OJeMqoveSBUkKjQqk8jiC97FGZ+2h+W3yA0FhMmxE0oSeeBDeB+yendSuB5CmvNPdlneDW FcdaQfpRR95PCSzIgVrILA4OXYdCptFOxCdghnIOu/mYFsalKakyElwUCebb0wyQ8LLIcn ct7ogOPd+V/ttny9Fw3D90IGhQlG+/j94kAjrqniwF/6T6VfhohfDivs/eZnTQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1785767442; a=rsa-sha256; cv=none; b=xHPjjoJQOin9BU/wQdidtMfIGpbEEinQQHgUN9HmX1rXXJO7uRvf4EFfZio9FIjk64zcod W7Ic+zwAAhQUnbL/JA3WlyJ+tFzYLXhbOQc+U0DDNK0aWNmowwaIsuUYLuHlpGKb3+8hg9 kYq1S5aDD8m/X1KqKDMyPYn+uuoMXk8rPw5OzsMjAMogJb22NwYtklK4WLOpFxRfKEtJZN Q12jdLnmWN0gVEpGs2Fdz2qP+Sej7mwpcpnZjdP4Odcf5RncgKzhJdsBoXwRh/0WXz21AV LBmqW5aSkNIGI+hDvdky1XkMU4+Leu0Mdj7MbShaVGVTwI3yZ8hL8vGvz+ODtw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1785767442; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6YGFwfg5qLRVIb0HwqaP5XtsQ1KJoPvPpMfSYQWHe4Y=; b=sMwgSxF+gnV4O6Lf/YD3+nhGvWFdiCpuOmIN7A0mytSfx0+Ui7n04nQv7S4hn1yB5o2vEP dg5aMPz8miANOH+OSZ+Fk/8gNVb0QPjjHjCmKVaXjfLUqM8SsUa4LWZO6cWZIy58DRR+Ds J/jh+ZRCoDMgVPnbInlmr8YHHMiu4BUFOJOjLixOCVtFKf7mzEsd9EenJaLycJxBuyqMtZ iuR3LEr3cIkQxLyhLsIBSlsloORcNSMeuW7TnAmA0FLYYst8L25nJ3nr6Mt5BKYIMn321S Ch7sgWF+rGikkwzKVhSyHiZtYN3KI8AbeVywhz2nLl20FWaHgz7JX4UbUcveKw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hDJxY5pLkz14Lm for ; Mon, 03 Aug 2026 14:30:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 362bf by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 03 Aug 2026 14:30:41 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Lexi Winter Subject: git: cb2daf8ce116 - main - rpcgen: Const correctness for C23 List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: ivy X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: cb2daf8ce116d475597d7ab95f2454ea54c968e6 Auto-Submitted: auto-generated Date: Mon, 03 Aug 2026 14:30:41 +0000 Message-Id: <6a70a611.362bf.2e839682@gitrepo.freebsd.org> The branch main has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=cb2daf8ce116d475597d7ab95f2454ea54c968e6 commit cb2daf8ce116d475597d7ab95f2454ea54c968e6 Author: Lexi Winter AuthorDate: 2026-08-03 14:04:16 +0000 Commit: Lexi Winter CommitDate: 2026-08-03 14:04:16 +0000 rpcgen: Const correctness for C23 On some platforms, e.g. Linux Clang 22.1.8 / glibc 2.43, strchr() now implements the C23 behaviour where passing a const pointer to strchr() also returns a const pointer. This breaks rpcgen during the bootstrap build, since it assumes the return value is always a mutable pointer. For mkfile_output(), the pointed-to value is never modified, so fix this by making the pointer const as well. For open_log_file(), the current code modifies the supposedly const value in-place to remove the filename suffix, which happens to work but is wrong even in older versions of C. Change the code to use a printf "%.*s" format specifier to strip the suffix instead. MFC after: 1 week Reviewed by: brooks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D58489 --- usr.bin/rpcgen/rpc_main.c | 3 ++- usr.bin/rpcgen/rpc_svcout.c | 19 +++++++++++++------ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/usr.bin/rpcgen/rpc_main.c b/usr.bin/rpcgen/rpc_main.c index 8d5afad86cff..4c69be1ed333 100644 --- a/usr.bin/rpcgen/rpc_main.c +++ b/usr.bin/rpcgen/rpc_main.c @@ -868,7 +868,8 @@ static void mkfile_output(struct commandline *cmd) { const char *mkfilename, *clientname, *clntname, *xdrname, *hdrname; const char *servername, *svcname, *servprogname, *clntprogname; - char *temp, *mkftemp; + const char *temp; + char *mkftemp; svcname = file_name(cmd->infile, "_svc.c"); clntname = file_name(cmd->infile, "_clnt.c"); diff --git a/usr.bin/rpcgen/rpc_svcout.c b/usr.bin/rpcgen/rpc_svcout.c index 2c6849714d75..bbeed976c2d2 100644 --- a/usr.bin/rpcgen/rpc_svcout.c +++ b/usr.bin/rpcgen/rpc_svcout.c @@ -31,6 +31,7 @@ * rpc_svcout.c, Server-skeleton outputter for the RPC protocol compiler * Copyright (C) 1987, Sun Microsystems, Inc. */ +#include #include #include #include "rpc_parse.h" @@ -931,14 +932,20 @@ write_rpc_svc_fg(const char *infile, const char *sp) static void open_log_file(const char *infile, const char *sp) { - char *s; + const char *s; s = strrchr(infile, '.'); - if (s) - *s = '\0'; - f_print(fout, "%sopenlog(\"%s\", LOG_PID, LOG_DAEMON);\n", sp, infile); - if (s) - *s = '.'; + if (s) { + size_t len; + + len = s - infile; + if (len > INT_MAX) + len = INT_MAX; + f_print(fout, "%sopenlog(\"%.*s\", LOG_PID, LOG_DAEMON);\n", + sp, (int)len, infile); + } else + f_print(fout, "%sopenlog(\"%s\", LOG_PID, LOG_DAEMON);\n", + sp, infile); }