From nobody Tue Sep 29 12:13:31 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 4hvHC45CQdz6tTxF for ; Tue, 29 Sep 2026 12:13:36 +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 4hvHC43KGJz3H0H for ; Tue, 29 Sep 2026 12:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790684016; 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=H/y6LZEfAeNmqr90p+52SWlan9vnulHtHx9aO4QkXz8=; b=EphlxwrKOYjMMTuA1EIPsoMyVdtekxTnRGFD5l4/xhaRmd2S4a4L+rGGrzX82rfdP0JwSM Jm7ySKetBH6fwvm53E0BMSgxEIRx9t2GMNsksaiMAYA7IHVDlHH14Zu1bitJOH1CkTWB1O +q4KSbrhC/7nUa+vTH3Y0aRKOo4JntUvGAkC9Wu4dq6YPJmvDwEYJ408luCmFLQPqTGOzF OPDB7zPwpp0TIJKzyXXfdFMXFLcW/thc5dC3YZP2O5ymRIpzp4gjHfph840Tgl8DzqcNAD b8xqnzeVcP11GqL18bYV5Wjkc2VSr3MSGWtam78TC5mhx5HH17xzXwofoNs0AA== ARC-Seal: i=1; a=rsa-sha256; d=freebsd.org; s=dkim; cv=none; t=1790684016; b=YkEOSmx0pO5sYkhJ/YmehtUj+vGdGdunGni6q24mnpmS90S0bEU0bFTB7YgEK2LaaD4SML d9fEZnWS6ZVSQxCj30SZc47VN/xFmNiELJYUZxC+ljLiFqics7Tf4aESJWCLvFywu1e9ge qLp4h9aBKiCaB2+8hNvkI55ks88oA3P7DQ6C8L6L82epQErCF15/THMldyY/SnGWjZJ3+A sdQtaIxy1O3JsG5FC0Ijv1xMNgV3WV0hftuuz1hIseVDfXfLZ+X5oI/hWpaeGONX9u4O1X Gxp2lDYS5pHzDDTVDNJapvd6q2w4gFojQWyWRAvdq1zGiHYf/jmf4VYiIl/ZnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1790684016; 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=H/y6LZEfAeNmqr90p+52SWlan9vnulHtHx9aO4QkXz8=; b=cAL0ws8yhTT82TvseyY/8UxWoH+5rKXf7AcsT2zMHxSUf8veqkf4/9RBbDjGoUu7DjkUBW B2G2Ihd2cjgQtoz1UMiDPCLcSM+3TLsHJ8xyMSOHmATSE8A8FgynRd4C9Q8NArq7RGYmTv jXoW4wvnxZ012NR5WQ5NALfIbSXU8Frh3vArFjZDpADvw68Ie2anD63XRqo0WcoF0v6Upe cm6NHSVpp95tUE/jt7xJ0fNqgqS7mhSv44gjLbt0BjaNnCOoI/OcmezuLLksbf0p+k/XzF P0fhqV6L8r3Cany5b8DZaWpuYrRsNOAyAY0J8xoeGr92+qqWbSCoWtvHrsooOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4hvHC41bHsz1CyY for ; Tue, 29 Sep 2026 12:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 40089 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Tue, 29 Sep 2026 12:13:31 +0000 To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dag-Erling=?utf-8?Q? Sm=C3=B8rg?=rav Subject: git: d2018cedb414 - main - xdr: Fix xdr_string 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: des X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: d2018cedb414ef17e77b7fc2fa19fd81328da46b Auto-Submitted: auto-generated Date: Tue, 29 Sep 2026 12:13:31 +0000 Message-Id: <6abbab6b.40089.6c0f01d3@gitrepo.freebsd.org> The branch main has been updated by des: URL: https://cgit.FreeBSD.org/src/commit/?id=d2018cedb414ef17e77b7fc2fa19fd81328da46b commit d2018cedb414ef17e77b7fc2fa19fd81328da46b Author: Dag-Erling Smørgrav AuthorDate: 2026-09-29 12:12:59 +0000 Commit: Dag-Erling Smørgrav CommitDate: 2026-09-29 12:12:59 +0000 xdr: Fix xdr_string Forcing maxsize to RPC_MAXDATASIZE breaks code that deliberately uses XDR with longer strings than permitted by SunRPC. MFC after: 1 week Fixes: 6448ec89e739 (" * limit size of buffers to RPC_MAXDATASIZE") Fixes: e17d7ab869bb ("xdr_string: don't leak strings with xdr_free") Sponsored by: Klara, Inc. Sponsored by: NetApp, Inc. Reviewed by: kevans, brooks Differential Revision: https://reviews.freebsd.org/D59994 --- lib/libc/xdr/xdr.c | 6 ++---- sys/xdr/xdr.c | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/lib/libc/xdr/xdr.c b/lib/libc/xdr/xdr.c index 47aafea4bc30..f8cc5267d350 100644 --- a/lib/libc/xdr/xdr.c +++ b/lib/libc/xdr/xdr.c @@ -47,8 +47,6 @@ #include #include -#include -#include #include #include #include "un-namespace.h" @@ -702,7 +700,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) * be invalid. Otherwise, if it's very small, we might * fail to free the string. */ - maxsize = RPC_MAXDATASIZE; + maxsize = ~0U; /* FALLTHROUGH */ case XDR_ENCODE: size = strlen(sp); @@ -764,7 +762,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) bool_t xdr_wrapstring(XDR *xdrs, char **cpp) { - return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); + return (xdr_string(xdrs, cpp, ~0U)); } /* diff --git a/sys/xdr/xdr.c b/sys/xdr/xdr.c index f983a474abdd..e012c83104d4 100644 --- a/sys/xdr/xdr.c +++ b/sys/xdr/xdr.c @@ -46,8 +46,6 @@ #include #include -#include -#include #include #include @@ -626,7 +624,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) * be invalid. Otherwise, if it's very small, we might * fail to free the string. */ - maxsize = RPC_MAXDATASIZE; + maxsize = ~0U; /* FALLTHROUGH */ case XDR_ENCODE: size = strlen(sp); @@ -687,7 +685,7 @@ xdr_string(XDR *xdrs, char **cpp, u_int maxsize) bool_t xdr_wrapstring(XDR *xdrs, char **cpp) { - return xdr_string(xdrs, cpp, RPC_MAXDATASIZE); + return (xdr_string(xdrs, cpp, ~0U)); } /*