From b13e800f7dab4b5ce8b5fd5a1f1c6a9bb9c878f2 Mon Sep 17 00:00:00 2001 From: Dan McDonald Date: Fri, 1 May 2020 17:07:54 -0400 Subject: Plug leak in NFSv4.x exchange_id's server scope --- usr/src/uts/common/fs/nfs/nfs4x_srv.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/usr/src/uts/common/fs/nfs/nfs4x_srv.c b/usr/src/uts/common/fs/nfs/nfs4x_srv.c index 854a8e1abe..2c8f509afe 100644 --- a/usr/src/uts/common/fs/nfs/nfs4x_srv.c +++ b/usr/src/uts/common/fs/nfs/nfs4x_srv.c @@ -538,12 +538,16 @@ rfs4x_exchange_id_free(nfs_resop4 *resop) EXCHANGE_ID4res *resp = &resop->nfs_resop4_u.opexchange_id; EXCHANGE_ID4resok *rok = &resp->EXCHANGE_ID4res_u.eir_resok4; struct server_owner4 *sop = &rok->eir_server_owner; + struct eir_server_scope *ss = &rok->eir_server_scope; nfs_impl_id4 *nip; int len = 0; /* Server Owner: major */ - if ((len = sop->so_major_id.so_major_id_len) != 0) + if ((len = sop->so_major_id.so_major_id_len) != 0) { kmem_free(sop->so_major_id.so_major_id_val, len); + ASSERT(ss->eir_server_scope_len == len); + kmem_free(ss->eir_server_scope_val, len); + } if ((nip = rok->eir_server_impl_id.eir_server_impl_id_val) != NULL) { /* Immplementation */ -- cgit v1.2.3