summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorblambert <blambert@openbsd.org>2008-10-20 13:40:19 +0000
committerblambert <blambert@openbsd.org>2008-10-20 13:40:19 +0000
commit17a0233e8e96de88a2e86fbcc9884bc0d2feb955 (patch)
tree1b79ae2de5525d1a1d8fce34925796971649ef6c
parentSay goodbye to local $_ (diff)
downloadwireguard-openbsd-17a0233e8e96de88a2e86fbcc9884bc0d2feb955.tar.xz
wireguard-openbsd-17a0233e8e96de88a2e86fbcc9884bc0d2feb955.zip
Be pedantically correct in freeing allocated mbufs, even upon clearing
the server cache on shutdown. ok thib@
-rw-r--r--sys/nfs/nfs_srvcache.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/nfs/nfs_srvcache.c b/sys/nfs/nfs_srvcache.c
index 9edc8cc4e53..26939c5af54 100644
--- a/sys/nfs/nfs_srvcache.c
+++ b/sys/nfs/nfs_srvcache.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: nfs_srvcache.c,v 1.19 2008/07/05 12:45:06 thib Exp $ */
+/* $OpenBSD: nfs_srvcache.c,v 1.20 2008/10/20 13:40:19 blambert Exp $ */
/* $NetBSD: nfs_srvcache.c,v 1.12 1996/02/18 11:53:49 fvdl Exp $ */
/*
@@ -291,6 +291,10 @@ nfsrv_cleancache(void)
nextrp = TAILQ_NEXT(rp, rc_lru);
LIST_REMOVE(rp, rc_hash);
TAILQ_REMOVE(&nfsrvlruhead, rp, rc_lru);
+ if (rp->rc_flag & RC_REPMBUF)
+ m_freem(rp->rc_reply);
+ if (rp->rc_flag & RC_NAM)
+ m_freem(rp->rc_nam);
free(rp, M_NFSD);
}
numnfsrvcache = 0;