The branch releng/15.0 has been updated by cperciva:

URL: 
https://cgit.FreeBSD.org/src/commit/?id=082e48e81bd10237e534c9ba88d270abb9351a36

commit 082e48e81bd10237e534c9ba88d270abb9351a36
Author:     Olivier Certner <[email protected]>
AuthorDate: 2025-10-13 15:13:09 +0000
Commit:     Colin Percival <[email protected]>
CommitDate: 2025-10-16 18:48:17 +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().
    
    Approved by:    re (cperciva)
    Suggested by:   rmacklem
    MFC after:      2 days
    Sponsored by:   The FreeBSD Foundation
    
    (cherry picked from commit 4ae70c3ea498e06676040ee99254d261e29ae82e)
    (cherry picked from commit b27688a8b5dc92c87e74c40f3702484f5e2e329c)
---
 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);

Reply via email to