git: b27688a8b5dc - stable/15 - sys/rpc: UNIX auth: Support XDR_FREE
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Thu, 16 Oct 2025 16:58:25 UTC
The branch stable/15 has been updated by olce:
URL: https://cgit.FreeBSD.org/src/commit/?id=b27688a8b5dc92c87e74c40f3702484f5e2e329c
commit b27688a8b5dc92c87e74c40f3702484f5e2e329c
Author: Olivier Certner <olce@FreeBSD.org>
AuthorDate: 2025-10-13 15:13:09 +0000
Commit: Olivier Certner <olce@FreeBSD.org>
CommitDate: 2025-10-16 16:57:46 +0000
sys/rpc: UNIX auth: Support XDR_FREE
xdr_authunix_parms() does not allocate any auxiliary memory, so we can
simply support XDR_FREE by just returning TRUE.
Although there are currently no callers passing XDR_FREE, this makes us
immune to such a change in a way that doesn't cost more but is more
constructive than a mere KASSERT().
Suggested by: rmacklem
MFC after: 2 days
Sponsored by: The FreeBSD Foundation
(cherry picked from commit 4ae70c3ea498e06676040ee99254d261e29ae82e)
---
sys/rpc/authunix_prot.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/sys/rpc/authunix_prot.c b/sys/rpc/authunix_prot.c
index c1a9f90bbe28..0274a713ff2b 100644
--- a/sys/rpc/authunix_prot.c
+++ b/sys/rpc/authunix_prot.c
@@ -61,6 +61,10 @@ xdr_authunix_parms(XDR *xdrs, uint32_t *time, struct xucred *cred)
uint32_t junk;
char hostbuf[MAXHOSTNAMELEN];
+ if (xdrs->x_op == XDR_FREE)
+ /* This function does not allocate auxiliary memory. */
+ return (TRUE);
+
if (xdrs->x_op == XDR_ENCODE) {
getcredhostname(NULL, hostbuf, sizeof(hostbuf));
namelen = strlen(hostbuf);