aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Certner <olce@FreeBSD.org>2025-10-13 15:13:09 +0000
committerOlivier Certner <olce@FreeBSD.org>2025-10-14 12:21:49 +0000
commit4ae70c3ea498e06676040ee99254d261e29ae82e (patch)
treeb84cfb56c690273007f87ffec14e492d569d155d
parentd4cc791f3b2e1b6926420649a481eacaf3bf268e (diff)
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
-rw-r--r--sys/rpc/authunix_prot.c4
1 files changed, 4 insertions, 0 deletions
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);