summaryrefslogtreecommitdiffstats
path: root/sys/rpc/svc.c
diff options
context:
space:
mode:
authorrmacklem <rmacklem@FreeBSD.org>2010-03-23 23:03:30 +0000
committerrmacklem <rmacklem@FreeBSD.org>2010-03-23 23:03:30 +0000
commit2a5a7617ac540d0c336b0905e991070a4e61ef86 (patch)
tree2c5621b0008050a8372eb490d5e05439e69af7b7 /sys/rpc/svc.c
parent7f20b83b68f6e0cfd7a0c361f8c92190950f66ea (diff)
downloadFreeBSD-src-2a5a7617ac540d0c336b0905e991070a4e61ef86.zip
FreeBSD-src-2a5a7617ac540d0c336b0905e991070a4e61ef86.tar.gz
When the regular NFS server replied to a UDP client out of the replay
cache, it did not free the request argument mbuf list, resulting in a leak. This patch fixes that leak. Tested by: danny AT cs.huji.ac.il PR: kern/144330 Submitted by: to.my.trociny AT gmail.com (earlier version) Reviewed by: dfr MFC after: 2 weeks
Diffstat (limited to 'sys/rpc/svc.c')
-rw-r--r--sys/rpc/svc.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/rpc/svc.c b/sys/rpc/svc.c
index a594894..8678a18 100644
--- a/sys/rpc/svc.c
+++ b/sys/rpc/svc.c
@@ -819,9 +819,11 @@ svc_getreq(SVCXPRT *xprt, struct svc_req **rqstp_ret)
free(r->rq_addr, M_SONAME);
r->rq_addr = NULL;
}
+ m_freem(args);
goto call_done;
default:
+ m_freem(args);
goto call_done;
}
}
OpenPOWER on IntegriCloud