diff options
author | rmacklem <rmacklem@FreeBSD.org> | 2010-03-23 23:03:30 +0000 |
---|---|---|
committer | rmacklem <rmacklem@FreeBSD.org> | 2010-03-23 23:03:30 +0000 |
commit | 2a5a7617ac540d0c336b0905e991070a4e61ef86 (patch) | |
tree | 2c5621b0008050a8372eb490d5e05439e69af7b7 /sys/rpc/svc.c | |
parent | 7f20b83b68f6e0cfd7a0c361f8c92190950f66ea (diff) | |
download | FreeBSD-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.c | 2 |
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; } } |