From nobody Wed Aug 26 10:12:34 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 4hVL764qJ8z6ppmq for ; Wed, 26 Aug 2026 10:12:34 +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 "YR2" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 4hVL763K5qz429c for ; Wed, 26 Aug 2026 10:12:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1787739154; 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=HlPgViymafbyBfYwdyO0wuRiOyB9ajlXw9BC7TF0cO0=; b=lazo+YPDuo/IltGTE9jV+SOEWDOhrkFIDk6qZhyTdwiwHTr6qd3GzWQQG1edfNPt25FZ+R avU5qMCckXLaaIljsK8AzOiDb2lUt+PFVGDzuTqVsKZLLMYRmJjP0nWWdmCVntD1Ue4D3s BIspH1ub8Ld9AhUYHoty5hcvfvj8CKg5t7z18tOQM5HuJiJC6fY1XM98XRkSj7F4TSKF6t CZlu4PeTUBy1EfWn9UxwwPdmjO2LPzZUu2fykDi76GpLwJqCdyiUn82O8UM5vxeUhyqMzb ijcKyX2OSBrTuEmWGDhYrKSkvXS36mDv8wIOiPD07z7odF6zsp8pSst8EDIGbA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1787739154; a=rsa-sha256; cv=none; b=fLHHFMqXacfoY9XwKM2SnjmIl2fCN1f9opqBMjOa6HOUE6rPmUVvkI07aSUzUR5aXqJcLt EbNqpze0tXmn8Oc4Q2ADcJYL9I023Jfajw26dxbzFE8ex5HnCgct0b+CF0IQR4tCl7xwJw nxbeqgEa7JeKzXNLjcE1FCAea8S9dg/1rz0oipu5jH59h3ViGsU7bbnFwZmAYbnK8y0mW8 likijaZJmkLMa42rOUNhgARqxjButKlBLejhYPpb8hqcLmffhmXFfaG8ZhvgVaLxMhQDHj XuxhGDubOMZzKENBnVtYwoAe0L2vuP/7hTnQttY/Mcy24xlITtniHBwUeOSjLA== 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=1787739154; 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=HlPgViymafbyBfYwdyO0wuRiOyB9ajlXw9BC7TF0cO0=; b=ySUzS/rtQKAQFXXOeqgRDh0VAwerlau+Znx94C6CYdNq3VwKAzybLJ0ABKZhrPS02WspMT K8Y3Hp62hl3V5whG7eG+Rvag7j2EOkz1neW4uT8Ua0oxpoB39ichBL6nBtIbowdgLXrwi8 LW+/4xztQ/dKCCQ5ubrRg/MsoLgYb+ZgzVLinhSDLQ6IZegzGgC2dpHHljFSnFsE3zNFxf AieUszWiU0TcNKB+LxT0TIIqtjqZpCbR7+Fnu9MzlHX73NyEvyU1VJDN9KHgqr3oZ2qwJE 3eurmYndthoNehJ64Xq64Qc6tG3wPe0u5FOi17MqOBw45a2fP8/qFcUyBLNqYg== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hVL762Bq2zZgn for ; Wed, 26 Aug 2026 10:12:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 385bc by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Wed, 26 Aug 2026 10:12:34 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Lexi Winter Subject: git: 3dababd3277a - stable/15 - 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/stable/15 X-Git-Reftype: branch X-Git-Commit: 3dababd3277afee2a4ed734833b0de70dc6ce3b1 Auto-Submitted: auto-generated Date: Wed, 26 Aug 2026 10:12:34 +0000 Message-Id: <6a8ebc12.385bc.392f34b6@gitrepo.freebsd.org> The branch stable/15 has been updated by ivy: URL: https://cgit.FreeBSD.org/src/commit/?id=3dababd3277afee2a4ed734833b0de70dc6ce3b1 commit 3dababd3277afee2a4ed734833b0de70dc6ce3b1 Author: Lexi Winter AuthorDate: 2026-08-03 14:04:16 +0000 Commit: Lexi Winter CommitDate: 2026-08-26 09:56:12 +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 (cherry picked from commit cb2daf8ce116d475597d7ab95f2454ea54c968e6) --- 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); }